1. self表示乙個類的例項物件本身。如果用了staticmethod就無視這個self了,就將這個方法當成乙個普通的函式使用了。
2. cls表是這個類本身。
#3. 更多: 類先呼叫__new__方法,返回該類的例項物件,這個例項物件就是__init__方法的第乙個引數self,即self是__new__的返回值。**為證
class
a(object):
deffunc1(self):
print("
func1:
", self)
@staticmethod
deffunc2():
print("
func2")
@classmethod
deffunc3(cls):
print("
func3:
", cls)
a =a()
a.func1()
#最常見的呼叫方式,但與下面的方式相同
#func1: <__main__.a object at>
a.func1(a)
#這裡傳入例項a,相當於普通方法的self
#func1: <__main__.a object at>
a.func2()
#這裡,由於靜態方法沒有引數,故可以不傳東西
#func2:
a.func3()
#這裡,由於是類方法,因此,它的第乙個引數為類本身。
#func3:
print(a) #
可以看到,直接列印a,與上面那種呼叫返回同樣的資訊。
#
Python類中self引數用法詳解
python編寫類的時候,每個函式引數第乙個引數都是self,一開始我不管它到底是幹嘛的,只知道必須要寫上。後來對python漸漸熟悉了一點,再回頭看self的概念,似乎有點弄明白了。首先明確的是self只有在類的方法中才會有,獨立的函式或方法是不必帶有self的。self在定義類的方法時是必須有的...
python類中的self引數和cls引數
1.self表示乙個類的例項物件本身。如果用了staticmethod就無視這個self了,就將這個方法當成乙個普通的函式使用了。2.cls表是這個類本身。為證 class a object deffunc1 self print func1 self staticmethod deffunc2 p...
python類中的self引數和cls引數
1.self表示乙個類的例項物件本身。如果用了staticmethod就無視這個self了,就將這個方法當成乙個普通的函式使用了。2.cls表是這個類本身。為證 class a object def func1 self print func1 self staticmethod def func2...