定義乙個類,格式如下:
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 類名 執行語句.類變數.方法.類名 乙個或者多個單詞連線而成,每個單詞首字母大寫,其餘字母全部小寫,單詞與單詞之間不使用分隔符...