python物件導向 家居放置問題

2021-10-09 18:26:39 字數 1608 閱讀 9277

床: 佔4平公尺           衣櫃: 佔2平面              餐桌: 佔1.5平公尺

(1)屬性:名字(name),占地面積(area)

(2)物件:床(bed),衣櫃(closet),餐桌(table)

(1)屬性:戶型(house_style),總面積(zarea),家具名稱列表(namelist) (新房子沒有任何的家具,即初始家具名稱列表為空列表),剩餘面積(farea) (由於列印房子時,要求輸出'剩餘面積',所以剩餘面積為房子的隱含屬性)

(2)方法:新增家具(add_item)

class furniture():

def __init__(self, name, area):

self.name = name

self.area = area

# 1.先建立家具類和房子類

# 2.房子裡面的剩餘面積初始值設定為總面積

# 3.只要往房子裡面新增家具,就令剩餘面積等於總面積-家具面積

# 4.建立新增家具的方法和輸出房子當前資訊的方法

class home():

def __init__(self, house_style, zarea):

self.house_style = house_style

self.zarea = zarea

self.namelist =

self.farea = self.zarea

# 5.新增家具的方法裡面的形參設定為可變引數 *furniture,再將它轉換為列表, 然後再計算剩餘面積

def add_item(self, *furniture):

self.namelist = list(furniture)

sum = 0

for i in self.namelist:

sum += i.area

self.farea = self.zarea - sum

# 6.建立輸出資訊方法,輸出的時候分兩步

# 7.第一步,輸出戶型,總面積,剩餘面積

# 8.第二部,輸出家具列表以及家具的詳細資訊

def output(self):

print("該房子的戶型:" + self.house_style + "\n" + "總面積為:" + str(self.zarea) +

"\n" + "剩餘面積:" + str(self.farea))

print("家具列表為:")

for i in self.namelist:

print(i.name + " area:" + str(i.area))

bed = furniture("bed", 4)

closet = furniture("closet", 2)

table = furniture("table", 1.5)

home01 = home("小", 10)

home01.add_item(bed, closet, table)

home01.output()

結果:

python物件導向學習 python物件導向學習

物件導向最重要的概念就是類 class 和例項 instance 必須牢記類是抽象的模板,比如student類,而例項是根據類建立出來的乙個個具體的 物件 每個物件都擁有相同的方法,但各自的資料可能不同。物件導向三個概念 1.封裝 即把客觀事物封裝成抽象的類,並且類可以把自己的資料和方法讓可信的類進...

python物件導向總結 Python物件導向總結

python 物件導向 oop 1 物件導向 是乙個更大封裝,把乙個物件封裝多個方法 2 類 是對一些具有相同特徵或行為的事物的乙個統稱,是抽象的,不能直接使用 特徵被稱為屬性 行為被稱為方法 3 物件 是由類建立出來的乙個具體的存在,可以直接使用 先有類再有物件,類只有乙個,而物件可以有多個 類中...

python登入物件導向 python 物件導向

一 屬性和方法 1.a a 例項屬性 通過例項物件來新增的屬性就是例項屬性 a.count 10 例項方法都是在類中直接定義的 以self為第乙個引數的方法都是例項方法 當通過例項物件呼叫時,會自動傳遞當前物件作為self傳入 當通過類物件呼叫時,不會自動傳遞self a.test 等價於 a.te...