類變數 例項變數 類方法 例項方法 靜態方法。

2021-09-10 02:07:06 字數 2193 閱讀 5815

classa:

aa =

1def

__init__

(self,x,y)

: self.x = x

self.y = y

a = a(2,

3)"""a 是例項

aa 是類變數

####################

如果用a.aa =100 修改的是類的變數

a.aa =101 會在a例項中建立乙個名叫aa的屬性,並賦值,如果本身就有aa屬性,才修改。

####################

"""

class

date

:# 建構函式

def__init__

(self,year,month,day)

: self.year = year

self.month = month

self.day = day

# 例項方法

deftomorrow

(self)

: self.day +=

1# 如果要修改類變數

# date.day += 1

# 如不用self,會賦給例項變數

# 靜態方法

@staticmethod

defparse_from_string

(date_str)

:"""

靜態方法,

前面是不需要加self的

return 採取硬編碼的方式,如果類名改了,這裡也需要改,不友好

所以出現了 @classmethod 類方法

"""year, mouth, day =

tuple

(date_str.split(

"-")

)return date(

int(year)

,int

(mouth)

,int

(day)

) @classmethod

defform_string

(cls,date_str)

:"""

類方法,cls就是類本身

這樣就避免了硬編碼

"""year, mouth, day =

tuple

(date_str.split(

"-")

)return cls(

int(year)

,int

(mouth)

,int

(day)

)def

__str__

(self)

:# 大於 python 3.6 f""

return f"//"

if __name__ ==

"__main__"

: new_day = date(

2018,12

,31) new_day.tomorrow(

)print

(new_day)

#2018-12-31

date_str =

"2018-12-31"

year,mouth,day =

tuple

(date_str.split(

"-")

)print

(year,mouth,day)

new_day = date(

int(year)

,int

(mouth)

,int

(day)

)# 把上面的邏輯拿到類裡面,寫乙個靜態方法

date_str =

"2018-12-31"

new_day = date.parse_from_string(date_str)

print

(new_day)

# 使用@classmethod

date_str =

"2018-12-31"

new_day = date.form_string(date_str)

print

(new_day)

# 判斷乙個字串是否是合法的時間字串

# 使用 @staticmethod 比 @classmethod 更合理

# 因為不需要返回cls

Python 類方法,例項方法,類變數,例項變數

建立乙個person類 class person object per v per v 建立乙個類變數 def init self,name,age 初始化類例項變數 self.name name self.age age definstance method self 建立類例項方法 print ...

例項變數和類變數 類方法和例項方法

類體中包括成員變數和區域性變數,而成員變數又可以細分為例項變數和類變數,在宣告成員變數的時候,用static給予修飾的稱作類變數,否則稱作例項變數。類變數也稱為static變數,靜態變數 那麼,類變數和例項變數有什麼區別呢?我們知道,乙個類通過使用new運算子可以建立多個不同的物件,這些物件將被分配...

Java中類變數 類方法 例項變數 例項方法

在理解類變數 類方法之前先看一段 class person public static void showtotalfee 在person類中定義了3個變數,有2個變數是直接型別 變數名,而第3個變數的型別前加了static這個關鍵字。類變數也叫靜態變數,也就是在變數前加了static 的變數 類變...