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

