python中定義class時self的理解


很多人都對self的作用不理解,覺得多余,實際上self大有其用。

先給出一個實例:

1 >>> class a_class:
2     def func(self):
3         print(self)
4         print(self.__class__)
5 
6 >>> a= a_class()
7 >>> a.func
8 <bound method a_class.func of <__main__.a_class object at 0x0000000003414C18>>

其實7、8行的效果等同於如下:

1 >>> a_class.func(a)
2 <__main__.a_class object at 0x0000000003414C18>
3 <class '__main__.a_class'>
4 >>> 

明白了吧,a_class.func(a)等同於,a=a_class();a.func()

所以,self就是實例的本身,即self 就是 實例a,所以self就代表外界釧如一個參數,可以新建一個實例。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM