Python簡化類例八 靜態變數或方法的定義

2021-08-11 07:40:32 字數 831 閱讀 7546

# -*- coding: utf-8 -*

'''前言:這是我自己想出來的方法,我不知道是否有人用過這種寫類的方法,我也沒想出乙個什麼樣名字來稱呼它,反正我叫它簡化類

之所以稱之為簡化類,是因為我沒辦法實現多重繼承,但類的基本繼承,重寫還是實現了的

'''#python簡化類例八:靜態變數或方法的定義

def classtest8():

'''靜態變數或方法 寫在函式體內,或函式體外都是接受的,寫在函式體內的話,函式必須被例項化過後,才能使用,

'''def o():pass

classtest8.__dict__["count"] = 1 if ("count" in classtest8.__dict__)==false else classtest8.__dict__["count"]+1 #這是靜態變數的設定

return o

def printcount():

print( 0 if ("count" in classtest8.__dict__)==false else classtest8.count)

classtest8.printcount=printcount

classtest8.printcount() #0

classtest8_1=classtest8() #新建乙個例項時增加了乙個

classtest8.printcount() #1

classtest8_2=classtest8() #新建乙個例項時增加了乙個

classtest8.printcount() #2

python類靜態變數

python的類靜態變數直接定義在類中即可,不需要修飾符,如 class test stc attr 1def init self,attr1,attr2 self.attr1 attr1 self.attr2 attr2 在類test中,stc attr是屬於類test的靜態變數,attr1和at...

Python 例項變數 類變數 靜態變數 (十九)

例項變數 例項變數則是以為self.開頭,必須在例項化該類後使用 class test object def init self self.a hello world def test self 在內部test.a是不能訪問類變數的 print self.a a test a.test 類變數 物件...

類靜態變數 問題

類的靜態成員變數 記憶體分配方式有三種 1 從靜態儲存區域分配。內存在程式編譯的時候就已經分配好,這塊內存在程式的整個執行期間都存在。例如全域性變數,static變數。2 在棧上建立。在執行函式時,函式內區域性變數的儲存單元都可以在棧上建立,函式執行結束時這些儲存單元自動被釋放。棧記憶體分配運算內置...