python類中的self引數和cls引數

2021-09-29 15:53:50 字數 728 閱讀 6187

1. self表示乙個類的例項物件本身。如果用了staticmethod就無視這個self了,就將這個方法當成乙個普通的函式使用了。

2. cls表是這個類本身。

# **為證

class a(object):

def func1(self):

print("func1:", self)

@staticmethod

def func2():

print("func2")

@classmethod

def func3(cls):

print("func3:", cls)

a = a()

a.func1() # 最常見的呼叫方式,但與下面的方式相同

# func1: <__main__.a object at 0x0000014788701eb8>

a.func1(a) # 這裡傳入例項a,相當於普通方法的self

# func1: <__main__.a object at 0x0000014788701eb8>

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 deffunc1 self print func1 self staticmethod deffunc2 p...