class Human(): animal = "高級動物" languae = '語言' walk_way = "直立行走" def __init__(self,name,age,eye): self.name = name self.age = age self.eye = eye print("對象初始化成功。。。") def work(self): print("是人就須要工做,否則的話,餓死") def eat(self): print("一天不吃飯,頭暈眼睛花.....")human = Human('chris',18,"美麗的大眼睛")print(Human.__dict__) # 查看類的全部屬性及方法# 對象操做對象空間print(human.__dict__) # 查看對象的全部屬性及方法# 對象操做對象空間的屬性print(human.name) # 查看對象的屬性human.sex = 'male' # 增長對象的屬性print(human.sex)human.eye = "雙眼皮" # 修改對象的屬性print(human.eye)del human.sex # 刪除對象的屬性# print(human.sex) # AttributeError: 'Human' object has no attribute 'sex'# 對象操做類空間的屬性 只能查看,不能修改print(human.animal) # 查看類的屬性,查看對象屬性,先到對象空間找,再找類空間找human.animal = "低級動物" # 看似修改,實際是在對象空間,增長一個屬性class GameRole: rule = "遊戲規則" def __init__(self,area,nickname,hp,ad): self.area = area self.nickname = nickname self.hp = hp self.ad = ad def attack(self): print("誰施展了一個攻擊")gailun = GameRole('德瑪西呀','草叢倫',1000,75)yasuo = GameRole('艾歐尼亞','託兒所',500,150)# 1 對象爲何能調用類中的屬性與方法,並且只是調用,不能改變?# gailun.屬性名 先從本身空間去找,沒有此屬性他會經過 類對象指針 去類中找,類中找不到,會從父類去找# print(gailun.hp)print(gailun.attack)gailun.attack = 666 # 對 對象的屬性 進行 賦值,若是該對象存在此屬性,則是修改,不存在,則是增長屬性。print(gailun.attack)gailun.rule = gailun.ruleprint(gailun.rule)# 對象只能查看類的屬性,不能修改類的屬性# 同一個實例化的對象之間不能相互調用# 不一樣類實例化的對象之間能夠相互調用。print(gailun.attack)print(yasuo.attack)print(GameRole.attack)GameRole.attack(gailun) # 當類調用其普通方法時,不會主動傳參,要在達到對象調用時的效果,就將對象空間手動傳遞gailun.attack() # 對象調用方法,會自動將對象的地址傳方法的第一個參數