1、靜態方法
(1).格式:在方法上面新增 @staticmethod
(2).引數:靜態方法可以有引數也可以無引數
(3).應用場景:一般用於和類物件以及例項物件無關的**。
(4).使用方式: 類名.靜態方法名(或者物件名.靜態方法名)。
class hello(object):
@staticmethod
def say():
print('hello wold')
hello.say()
hello = hello() # hello wold
hello.say() # hello wold
2.類方法
無需例項化,可以通過類直接呼叫的方法,但是方法的第乙個引數接收的一定是類本身
(1).在方法上面新增@classmethod
(2).方法的引數為 cls 也可以是其他名稱,但是一般預設為cls
(3).cls 指向 類物件
(4).應用場景:當乙個方法中只涉及到靜態屬性的時候可以使用類方法(類方法用來修改類屬性)。
(5).使用 可以是 物件名.類方法名。或者是 類名.類方法名
class person(object):
name = 'zs'
@classmethod
def change_name(cls):
cls.name = 'ls'
print(cls.name)
person.change_name()
person = person() # ls
person.change_name() # ls
Python中類方法和靜態方法
要在類中使用靜態方法,需在靜態方法前面加上 staticmethod標記符,以表示下面的成員函式是靜態函式。使用靜態方法的好處 其函式不需要self引數,可以通過類呼叫該方法,不需要定義該類例項 當然通過類例項呼叫也沒有問題 類方法可以通過類或它的例項來呼叫,但 該方法的 第乙個引數cls是定義該方...
Python中的類方法和靜態方法
1.類方法 是類物件所擁有的方法,需要用修飾器 classmethod來標識其為類方法,對於類方法,第乙個引數必須是類物件,一般以cls作為第乙個引數 當然可以用其他名稱的變數作為其第乙個引數,但是大部分人都習慣以 cls 作為第乙個引數的名字,就最好用 cls 了 能夠通過例項物件和類物件去訪問。...
python中的類方法和靜態方法
python中至少有三種比較常見的方法型別,即例項方法,類方法 靜態方法。它們是如何定義的呢?如何呼叫的呢?它們又有何區別和作用呢?首先,這三種方法都定義在類中。例項方法 定義 第乙個引數必須是例項物件,該引數名一般約定為 self 通過它來傳遞例項的屬性和方法 也可以傳類的屬性和方法 呼叫 只能由...