靜態方法 屬性方法 類方法
靜態方法實際上和類沒什麼關係,但規類管 @staticmethod
類方法基本不用 類方法只能呼叫類變數,不能訪問例項變數 @classmethod
屬性方法 將乙個方法變為靜態屬性 @property
-------------------------------------------
class dog(object):
def __init__(self,name):
self.name = name
self.__food=none
@property
def eat(self):
# print("%s is eating %s"%(self.name,self.__food))
print("%s is eating %s" % (self.name,self.__food))
#屬性就可以賦值
@eat.setter
def eat(self, food):
print("set to food:", food)
self.__food=food
@eat.deleter
def eat(self):
del self.__food
print("刪除屬性的方法")
d= dog("chengronghu")
d.eat
d.eat="baozi"
d.eat
del d.eat
#屬性方法預設刪不了
d.eat
----------------------
class flight(object):
def __init__(self,name):
self.flight_name=name
def checking_status(self):
print("check flight %s status"%self.flight_name)
return 1
@property
def flight_status(self):
status=self.checking_status()
if status==0:
print("flight got canceing...")
elif status==1:
print("flight is arriving...")
elif status==2:
print("flight is departing...")
else:
print("flight is unknow...")
@flight_status.setter
def flight_status(self,status):
print("flight %s has changee status to %s"%(self.flight_name,status))
f=flight("ca985")
f.flight_status
f.flight_status=2
-------------------
__doc__ 提取類的描述資訊
print(__doc__)
__moudle__ 獲取模組
__call__
class dog(object):
def __init__(self,name):
self.name = name
def __call__(self, *args, **kwargs):
print("running",args,kwargs)
d= dog("chengronghu")
d(123,name="alex")
---------------------------
__dict__ 檢視類或者物件中的所有成員 d.__dict__
__str__ 將記憶體位址轉為記憶體物件
靜態屬性 類方法 靜態方法
靜態屬性 既可以訪問例項屬性也可以訪問類屬性 self 1 靜態屬性 資料屬性 2 class room 3 def init self,name,owner,width,length,height 4 self.name name 5 self.owner owner 6 self.width w...
靜態屬性 類方法 靜態方法
class room tag 1 def init self,name,owner,width,length,heigh self.name name self.width width self.owner owner self.length length self.heigh heigh 既可以訪...
靜態屬性靜態方法
靜態屬性用於儲存內的公有資料 靜態方法裡面只能訪問靜態屬性 靜態成員不需要例項化就可以訪問 類的內部可以通過self或者static關鍵字訪問自身的靜態成員 子內方法中可以通過parent關鍵字訪問父類的靜態成員 可以通過類的名稱在類定義外部訪問靜態成員 class human class nbap...