Python 類中方法的內部變量,命名加'self.'變成 self.xxx 和不加直接 xxx 的區別


先看兩個類的方法:

>>> class nc():
def __init__(self):
self.name ='tester' #name變量加self    

>>> class mc():
def __init__(self): 
name = 'tesster' #name變量不加self

>>> nc = nc() #實例化nc()
>>> nc.name #通過.操作符可以調用該方法的屬性name,說明加self后的name是該方法的屬性 attribute。
'tester'

>>> mc = mc() #實例化mc()
>>> mc.name #嘗試通過.操作符調用變量name,明顯提示錯誤,說明不加self的變量不是該方法的屬性,它是方法的局部變量。
Traceback (most recent call last):
File "<pyshell#33>", line 1, in <module>
mc.name
AttributeError: 'mc' object has no attribute 'name'

 

python中類方法的屬性需要加self,也就是self.xxx,這個是方法的屬性!
類方法的變量不加self,也就是xxx,這個是方法的局部變量,不能被調用,只能在該方法內部使用!

在類中,self只能在方法中使用表示該方法的實例屬性,也就是每個實例可以設置不同的值而不會相互影響;在方法下不使用self表示是該方法的局部變量,只能在該方法內使用。

self.xxx是全局的,xxx是局部的對於該方法有效。
---------------------
原文:https://blog.csdn.net/jojoy_tester/article/details/54016309


免責聲明!

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



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