您好,登錄后才能下訂單哦!
本篇文章為大家展示了怎么在Python面向對象中通過一個對象調用另一個對象,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。
1、簡單易用,與C/C++、Java、C# 等傳統語言相比,Python對代碼格式的要求沒有那么嚴格;2、Python屬于開源的,所有人都可以看到源代碼,并且可以被移植在許多平臺上使用;3、Python面向對象,能夠支持面向過程編程,也支持面向對象編程;4、Python是一種解釋性語言,Python寫的程序不需要編譯成二進制代碼,可以直接從源代碼運行程序;5、Python功能強大,擁有的模塊眾多,基本能夠實現所有的常見功能。
1.類中所有的方法的參數中都必須加self,并且是第一個參數
2.__init__方法用來初始化對象,也必須加self
3.用__str__方法,方法中有返回值,可以直接用print(對象引用的變量),__str__方法返回什么,print得到的就是什么
4.屬性的賦值,最好用方法封裝起來使用
__str__和__init__方法的舉例:
# -*- coding:utf-8 -*- #! python3 class Cat: def __init__(self,new_name,new_age): #初始化對象 self.name = new_name self.age = new_age def __str__(self): return "%s的年齡是:%d"%(self.name,self.age) def eat(self): print("貓在吃魚....") def drink(self): print("貓在喝可樂...") tom = Cat("湯姆",40) print(tom) #這個輸出的結果就是str返回值的結果
運行結果:
湯姆的年齡是:40
一個對象調用另一個對象:
一個對象調用另一個對象的屬性可以直接調用
# -*- coding:utf-8 -*- #! python3 class Home: def __init__(self,new_area,new_info,new_addr): self.area = new_area self.info = new_info self.addr = new_addr self.left_area = new_area self.contain_items = [] def __str__(self): msg="房子的總面積是:%d,可用面積是:%d,戶型是:%s,地址是:%s"%(self.area,self.left_area,self.info,self.addr) msg += "當前房子里的物品是%s"%(str(self.contain_items)) return msg def add_item(self,item): #self.left_area -= item.area #self.contain_items.append(item.name) self.left_area -= item.get_area() self.contain_items.append(item.get_name()) class Bed: def __init__(self,new_name,new_area): self.name = new_name self.area = new_area def __str__(self): return "%s占用的面積是:%d"%(self.name,self.area) def get_area(self): return self.area def get_name(self): return self.name fangzi = Home(129,"三室一廳","北京市 朝陽區 長安街 666號") print(fangzi) bed1 = Bed("席木思",4) fangzi.add_item(bed1) print(fangzi)
運行結果:
房子的總面積是:129,可用面積是:129,戶型是:三室一廳,地址是:北京市 朝陽區 長安街 666號當前房子里的物品是[]
房子的總面積是:129,可用面積是:125,戶型是:三室一廳,地址是:北京市 朝陽區 長安街 666號當前房子里的物品是['席木思']
上述內容就是怎么在Python面向對象中通過一個對象調用另一個對象,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。