資源簡(jiǎn)介 (共27張PPT)類與對(duì)象(二)課前回顧1、創(chuàng)建類類:在python中,把具有相同屬性和方法的對(duì)象歸為一個(gè)類(class)2、創(chuàng)建對(duì)象對(duì)象=屬性(特征)+方法(行為)3、面向?qū)ο?br/>面向?qū)ο笫且环N編程方式,此編程方式的實(shí)現(xiàn)是基于對(duì) 類 和 對(duì)象 的使用。情境引入面向?qū)ο蟪绦蛟O(shè)計(jì)之所以被廣泛使用且經(jīng)久不衰,是因?yàn)榭梢哉嬲媲星械匕凑宅F(xiàn)實(shí)生活中的思維,去構(gòu)建面向?qū)ο蟪绦虻氖澜纭?br/>我們可以使用類與對(duì)象來模擬現(xiàn)實(shí)世界中的很多情景。循序善誘在完成對(duì)類編寫好后,你的大部分精力都將會(huì)用在根據(jù)類信息來創(chuàng)建實(shí)例對(duì)象。你需要執(zhí)行的一個(gè)重要任務(wù)是修改實(shí)例對(duì)象的屬性。你可以直接修改實(shí)例的屬性,也可以通過編寫方法以特定的方式進(jìn)行修改屬性信息。循序善誘本節(jié)課,我們將通過一個(gè)案例,進(jìn)一步認(rèn)識(shí)面向?qū)ο筮@一編程方式,并進(jìn)一步掌握對(duì)類與對(duì)象的使用。新知教授2、屬性默認(rèn)值1、car類3、修改屬性值4、課堂總結(jié)car類新知教授我們來編寫一個(gè)表示汽車的類Car類,該Car類存儲(chǔ)了有關(guān)汽車的信息,類中包含一個(gè)描述汽車信息的方法。思維構(gòu)建class Car():def __init__(self, make, model, year):"""初始化描述汽車的屬性"""self.make = make # make:汽車品牌self.model = model # model:汽車型號(hào)self.year = year # year:生產(chǎn)年份def get_data(self):"""返回整潔的描述性信息"""data_String = str(self.year) + ' ' + self.make + ' ' + self.modelreturn data_String思維構(gòu)建我們定義了__init__() 方法接受傳遞過來的形參的值,并將它們存儲(chǔ)在根據(jù)這個(gè)類創(chuàng)建的實(shí)例對(duì)象的屬性中。self排第一思維構(gòu)建我們定義了一個(gè)名為get_data()的方法讓我們可以使用參數(shù)中的屬性year、make和model信息,來創(chuàng)建一個(gè)對(duì)汽車信息進(jìn)行描述的字符串,讓我們無需分別來打印每個(gè)屬性的值。編玩邊學(xué)我們根據(jù)Car類創(chuàng)建了一個(gè)實(shí)例對(duì)象my_car,并將其存儲(chǔ)到變量my_car中。接下來,我們調(diào)用方法get_data (),指出我們擁有的是一輛什么樣的汽車。my_Car = Car('奧迪', 'A6', 2016)print(my_Car.get_data())屬性默認(rèn)值新知教授每個(gè)類中的每個(gè)屬性,都是必須有初始值的,哪怕這個(gè)值是0或空字符串(Null)。思維構(gòu)建在類中給屬性指定默認(rèn)值時(shí)不需要設(shè)定專門的形參;且在方法__init__中。例如下面來添加一個(gè)屬性名稱為mile_age(里程)的變量,來記錄汽車行駛的總里程數(shù)據(jù)。class Car():def __init__(self, make, model, year):"""初始化描述汽車的屬性"""self.make = make # make:汽車品牌self.model = model # model:汽車型號(hào)self.year = year # year:生產(chǎn)年份self.mile_age = 0編玩邊學(xué)另外,我們還添加創(chuàng)建一個(gè)名為get_mileage()的方法,用于讀取汽車的里程表信息。def get_mileage(self):"""返回一條指出汽車?yán)锍痰南?""return "這輛汽車已經(jīng)行駛了 " + str(self.mile_age) + " 公里了。 "編玩邊學(xué)my_Car = Car('奧迪', 'A6', 2016)print(my_Car.get_data())print(my_Car.get_mileage())我們創(chuàng)建實(shí)例對(duì)象后也可以通過get_mileage()方法讀取汽車?yán)锍绦畔ⅰ?br/>修改屬性值新知教授在現(xiàn)實(shí)生活中,即使一輛新的車子下線出售,它的行駛里程有時(shí)候也不為0,所以在接下來的編程中,我們要貼合實(shí)際,來對(duì)里程數(shù)mile_age屬性進(jìn)行修改。思維構(gòu)建我們可以使用三種不同的方式修改屬性的值:1、直接通過實(shí)例進(jìn)行修改;2、通過方法進(jìn)行設(shè)置;3、通過方法進(jìn)行遞增(增加特定的值)。編玩邊學(xué)1、直接修改屬性的值要修改屬性的值,最簡(jiǎn)單的方式是通過實(shí)例直接訪問它。my_Car.mile_age = 12print(my_Car.get_mileage())可以讓Python在實(shí)例my_car中找到屬性mile_age,并將該屬性的值設(shè)置為12。編玩邊學(xué)2、通過方法函數(shù)修改屬性的值不直接訪問屬性,而可將值傳遞給一個(gè)專門的函數(shù)方法,由它在內(nèi)部進(jìn)行更新。def set_mileage(self, mile_ageVal):self.mile_age = mile_ageValmy_Car.set_mileage(13)print(my_Car.get_mileage())這樣做的好處是,屬性值的更改會(huì)更加安全,在后續(xù)學(xué)習(xí)中我們會(huì)發(fā)現(xiàn)這點(diǎn)。編學(xué)邊玩3、通過方法對(duì)屬性的值進(jìn)行遞增在使用編程解決實(shí)際生活問題時(shí),有時(shí)候需要將屬性的值按照特定的量進(jìn)行增長(zhǎng),而不是簡(jiǎn)單的將其數(shù)據(jù)設(shè)置為全新的值。def incre_mile(self, mile):self.mile_age += milemy_Car.incre_mile(100)print(my_Car.get_mileage())此種方式更改屬性值比第二張方式更加安全,避免直接修改屬性值。實(shí)踐創(chuàng)作一般來說,汽車行駛的里程數(shù)是不斷往上增加的,如果私自將汽車行駛的里程改小,是屬于違法行為。那么,根據(jù)這一規(guī)定,我們可以對(duì)修改里程屬set_mileage ()方法進(jìn)一步完善,使set_mileage ()方法在修改里程表讀數(shù)時(shí),做一些邏輯判斷工作禁止任何人將里程表讀數(shù)往回調(diào)(減小里程數(shù))課堂總結(jié)1、屬性默認(rèn)值每個(gè)類中的每個(gè)屬性,都是必須有初始值的,哪怕這個(gè)值是0或空字符串(Null)。2、修改屬性值我們可以使用三種不同的方式修改屬性的值:1、直接通過實(shí)例進(jìn)行修改;2、通過方法進(jìn)行設(shè)置;3、通過方法進(jìn)行遞增(增加特定的值)。分享交流同學(xué)們今天寫代碼有沒有遇到什么問題?演示今天打印的代碼同學(xué)們,要加油哦!下節(jié)課見啦 展開更多...... 收起↑ 資源預(yù)覽 縮略圖、資源來源于二一教育資源庫(kù)