Python面向?qū)ο髮崿F(xiàn)一個對象調(diào)用另一個對象操作示例
本文實例講述了Python面向?qū)ο髮崿F(xiàn)一個對象調(diào)用另一個對象操作。分享給大家供大家參考,具體如下:
我先總結一下python中的類的特點:
1.類中所有的方法的參數(shù)中都必須加self,并且是第一個參數(shù)
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
一個對象調(diào)用另一個對象:
一個對象調(diào)用另一個對象的屬性可以直接調(diào)用
# -*- 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,"三室一廳","北京市 朝陽區(qū) 長安街 666號") print(fangzi) bed1 = Bed("席木思",4) fangzi.add_item(bed1) print(fangzi)
運行結果:
房子的總面積是:129,可用面積是:129,戶型是:三室一廳,地址是:北京市 朝陽區(qū) 長安街 666號當前房子里的物品是[]
房子的總面積是:129,可用面積是:125,戶型是:三室一廳,地址是:北京市 朝陽區(qū) 長安街 666號當前房子里的物品是['席木思']
更多關于Python相關內(nèi)容感興趣的讀者可查看本站專題:《Python面向?qū)ο蟪绦蛟O計入門與進階教程》、《Python數(shù)據(jù)結構與算法教程》、《Python函數(shù)使用技巧總結》、《Python字符串操作技巧匯總》、《Python編碼操作技巧總結》及《Python入門與進階經(jīng)典教程》
希望本文所述對大家Python程序設計有所幫助。
相關文章
Python使用xlrd和xlwt批量讀寫excel文件的示例代碼
這篇文章主要介紹了Python使用xlrd和xlwt批量讀寫excel文件,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-03-03全網(wǎng)最簡約的Anaconda+Python3.7安裝教程Win10
這篇文章主要介紹了全網(wǎng)最簡約的Anaconda+Python3.7安裝教程Win10,圖文講解全流程安裝方法,還不會的小伙伴快來看看吧2023-03-03python命令行引導用戶填寫可用的ip地址和端口號實現(xiàn)
這篇文章主要為大家介紹了python命令行引導用戶填寫可用的ip地址和端口號實現(xiàn)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-11-11python 3.5實現(xiàn)檢測路由器流量并寫入txt的方法實例
這篇文章主要給大家介紹了關于利用python 3.5實現(xiàn)檢測路由器流量并寫入txt的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起看看吧。2017-12-12淺談Keras參數(shù) input_shape、input_dim和input_length用法
這篇文章主要介紹了淺談Keras參數(shù) input_shape、input_dim和input_length用法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-06-06