在類中可以根據需要定義一些方法,定義方法採用def關鍵字,在類中定義的方法至少會有乙個引數,一般以名為'self'的變數作為該引數(用其他名稱也可以),而且需要作為第乙個引數。
舉例:
class people:
sname='xiaohong'
high = 172.5
weight = 180
*** = '男'
def eat(self,food):
print self.sname+"eat"+food
wangbaoqiang= people() #例項化 gaojiajun是people類的例項化物件
wangbaoqiang.sname=」王寶強」
self指的是類例項物件本身(注意:不是類本身)。
在上述例子中,self指向person的例項gaojiajun,可以把它當做c++中類裡面的this指標一樣理解,就是物件自身的意思
如果想定義成私有的,則需在前面加2個下劃線 』 __』。
私有屬性只能在本類中使用
舉例:
class people:
__sname=』xiaohong』
__high = 172.5
__weight = 180
__*** = 『女』
def eat(self,food):
print self.sname+"eat"+food
def getsname(self):
return self.__sname
def setsname(self,str):
self.__sname=str
由於__sname是私有屬性,在類的外面不能直接使用,所以我們定義了getsname去獲取該屬性的值、setsname去給該屬性賦值,這種使用方法稱為封裝
在python中有一些內建的方法,這些方法命名都有比較特殊的地方(其方法名以2個下劃線開始然後以2個下劃線結束)。
1、init(self,….):構造方法,在生成物件時呼叫,可以用來進行一些初始化操作,不需要顯示去呼叫,系統會預設去執行。構造方法支援過載,如果使用者自己沒有重新定義構造方法,系統就自動執行預設的構造方法。
2、del(self):析構方法,在釋放物件時呼叫,支援過載,可以在裡面進行一些釋放資源的操作,不需要顯示呼叫。
3、dict: 類的屬性(包含乙個字典,由類的資料屬性組成)
4、doc:類的文件字串
5、name: 類名
6、module: 類定義所在的模組(類的全名是』main.classname』,如果類位於乙個匯入模組mymod中,那麼classname.module等於 mymod)
7、bases: 類的所有父類構成元素(包含了以個由所有父類組成的元組)
類方法
是類物件所擁有的方法,需要用修飾器」@classmethod」來標識其為類方法。它能夠通過例項物件和類物件去訪問。類方法的用途就是可以對類屬性進行修改。對於類方法,第乙個引數必須是類物件,一般以」cls」作為第乙個引數,
舉例:class people:
country = 'china'
@classmethod
def getcountry(cls): #類方法
return cls.country
@classmethod
def setcountry(cls,country): #類方法
cls.country = country
p = people()
p.setcountry(『japan』)
例項方法
在類中最常定義的成員方法,它至少有乙個引數並且必須以例項物件作為其第乙個引數,一般以名為』self』的變數作為第乙個引數。(注意:不能通過類物件引用例項方法)
靜態方法
需要通過修飾器」@staticmethod」來進行修飾,靜態方法不需要多定義引數。
靜態方法能夠通過例項物件和類物件去訪問,靜態方法中如果有引數,則是必備引數
舉例:class people:
country = 'china'
@staticmethod
def getcountry():
return people.country
@staticmethod
def setcountry(countryname):
people.country=countryname
print people.getcountry()
p=people()
print p.getcountry()
Python中怎樣初始化乙個類類class?
1 12 1 fp樹的類定義 2class treenode 3def init self,namevalue,numoccur,parentnode 4 self.name namevalue 節點的名字 5 self.count numoccur 出現次數 6 self.nodelink non...
Python類中的方法
1 普通方法 class myclass a example class i 12345 def f1 c return str c hello world def f2 return hehe m myclass print m.f1 輸出 main myclass object at 0x076...
Python 中的類方法
需要用 classmethod 來標識 對於類方法 第乙個引數必須是類物件 一般以 cls 作為第乙個引數 能夠通過例項物件和類物件去訪問 類方法還可以用來修改屬性 代表的是當前類相關的資訊的物件 類本身也是乙個物件,有的地方也稱之為類的元資料物件 主要用來存放邏輯性的 主要是一些邏輯屬於類 但是和...