python 測開 類方法和靜態方法

2021-10-13 12:46:18 字數 933 閱讀 2178

用**@classmethod**修飾的就是類方法,類方法的第乙個引數是cls而非self。

class

person

(object):

def__init__

(self, first_name, last_name)

: self.first_name = first_name

self.last_name = last_name

@classmethod

# 類方法是為了建立物件

deffull_name

(cls,name)

: first_name,last_name =

map(

str,name.split(

' ')

) obj = cls(first_name,last_name)

return obj

malaoshi = person(

'馬',

'老師'

)# 使用類方法後,多了一種建立物件的方法

zhanglaoshi = person.full_name(

'張 老師'

)print

(zhanglaoshi.first_name)

print

(malaoshi.first_name)

用**@staticmethod**修飾的就是靜態方法,靜態方法的第乙個引數既不需要是cls,也不需要是self。可以認為它就是寫在類中的普通函式。

class

person

(object):

@staticmethod

deffull_name()

:print

('這是乙個靜態方法'

)

Python中類方法和靜態方法

要在類中使用靜態方法,需在靜態方法前面加上 staticmethod標記符,以表示下面的成員函式是靜態函式。使用靜態方法的好處 其函式不需要self引數,可以通過類呼叫該方法,不需要定義該類例項 當然通過類例項呼叫也沒有問題 類方法可以通過類或它的例項來呼叫,但 該方法的 第乙個引數cls是定義該方...

類方法和靜態方法

通過靜態方法和類方法能夠把相關的函式封裝到乙個類裡面,有效的將 組織起來,提高 的可維護性 class date object def init self,year,month,day self.year year self.month month self.day day 普通方法 def ech...

python例項方法 類方法和靜態方法

class testclassmethod object method method hoho def init self self.name leon def test1 self print test1 print self classmethod def test2 cls print cls...