定義類並且建立物件為其新增屬性,獲取屬性

2021-08-28 10:35:25 字數 2468 閱讀 8397

定義乙個類,格式如下:

class 類名:

方法列表

demo:定義乙個hero類

# class hero:  # 經典類(舊式類)定義形式

# class hero():

class hero(object): # 新式類定義形式

def info(self):

print("英雄各有見,何必問出處。")

說明:

python中,可以根據已經定義的類去建立出乙個或多個物件。

建立物件的格式為:

物件名1 = 類名()

物件名2 = 類名()

物件名3 = 類名()

建立物件demo:

class hero(object):  # 新式類定義形式

"""info 是乙個例項方法,類物件可以呼叫例項方法,例項方法的第乙個引數一定是self"""

def info(self):

"""當物件呼叫例項方法時,python會自動將物件本身的引用做為引數,

傳遞到例項方法的第乙個引數self裡"""

print(self)

print("self各不同,物件是出處。")

# hero這個類 例項化了乙個物件 taidamier(泰達公尺爾)

taidamier = hero()

# 物件呼叫例項方法info(),執行info()裡的**

# . 表示選擇屬性或者方法

taidamier.info()

print(taidamier) # 列印物件,則預設列印物件在記憶體的位址,結果等同於info裡的print(self)

print(id(taidamier)) # id(taidamier) 則是記憶體位址的十進位制形式表示

說明:

class hero(object):

"""定義了乙個英雄類,可以移動和攻擊"""

def move(self):

"""例項方法"""

print("正在前往事發地點...")

def attack(self):

"""例項方法"""

print("發出了一招強力的普通攻擊...")

# 例項化了乙個英雄物件 泰達公尺爾

taidamier = hero()

# 給物件新增屬性,以及對應的屬性值

taidamier.name = "泰達公尺爾" # 姓名

taidamier.hp = 2600 # 生命值

taidamier.atk = 450 # 攻擊力

taidamier.armor = 200 # 護甲值

# 通過.成員選擇運算子,獲取物件的屬性值

print("英雄 %s 的生命值 :%d" % (self.name, self.hp))

print("英雄 %s 的攻擊力 :%d" % (self.name, self.atk))

print("英雄 %s 的護甲值 :%d" % (self.name, self.armor))

# 通過.成員選擇運算子,獲取物件的例項方法

taidamier.move()

taidamier.attack()

class hero(object):

"""定義了乙個英雄類,可以移動和攻擊"""

def move(self):

"""例項方法"""

print("正在前往事發地點...")

def attack(self):

"""例項方法"""

print("發出了一招強力的普通攻擊...")

def info(self):

"""在類的例項方法中,通過self獲取該物件的屬性"""

print("英雄 %s 的生命值 :%d" % (self.name, self.hp))

print("英雄 %s 的攻擊力 :%d" % (self.name, self.atk))

print("英雄 %s 的護甲值 :%d" % (self.name, self.armor))

# 例項化了乙個英雄物件 泰達公尺爾

taidamier = hero()

# 給物件新增屬性,以及對應的屬性值

taidamier.name = "泰達公尺爾" # 姓名

taidamier.hp = 2600 # 生命值

taidamier.atk = 450 # 攻擊力

taidamier.armor = 200 # 護甲值

# 通過.成員選擇運算子,獲取物件的例項方法

taidamier.info() # 只需要呼叫例項方法info(),即可獲取英雄的屬性

taidamier.move()

taidamier.attack()

為類動態新增屬性和方法

動態新增屬性 import types class person object country china def init self,name self.name name 動態刪除屬性和方法 del delattr p1 person zhiliao print p1.name del p1.n...

const定義的物件,其屬性是否可以改變

今天參加了乙個面試,面試官問我const 定義乙個物件,然後修改他的屬性值可不可以,我想都沒想,直接回答不可以,const不是定義常量的嗎?怎麼可以修改?面試官微微一笑 面試結束後,查閱了一下const的定義,才明白了他的原理。const是用來定義常量的,而且定義的時候必須初始化,且定義後不可以修改...

Python定義類與建立物件

目錄 1.定義類 2.建立與使用物件 物件也稱為例項 1 增加或刪除例項變數 2 增加例項方法 物件導向程式設計的三大特徵 封裝 繼承 多型 語法格式 語法格式 class 類名 執行語句.類變數.方法.類名 乙個或者多個單詞連線而成,每個單詞首字母大寫,其餘字母全部小寫,單詞與單詞之間不使用分隔符...