Python類中的方法(CLASS)

2021-07-17 01:08:44 字數 2583 閱讀 9127

在類中可以根據需要定義一些方法,定義方法採用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 作為第乙個引數 能夠通過例項物件和類物件去訪問 類方法還可以用來修改屬性 代表的是當前類相關的資訊的物件 類本身也是乙個物件,有的地方也稱之為類的元資料物件 主要用來存放邏輯性的 主要是一些邏輯屬於類 但是和...