摘要:類其實(shí)就是由屬性和方法組成的一個(gè)抽象概念。類和對(duì)象的關(guān)系類是模板,對(duì)象是根據(jù)類這個(gè)模板創(chuàng)建出來的,應(yīng)該先有類,再有對(duì)象。使用同一個(gè)類,能夠創(chuàng)建出很多對(duì)象。不同對(duì)象對(duì)應(yīng)的屬性值也會(huì)不同。
目錄
類是對(duì)一群具有相同 特征 或者 行為 的事物的一個(gè)統(tǒng)稱,是抽象的,不能直接使用。
特征其實(shí)就是一個(gè)變量,在類里我們稱之為屬性。
行為其實(shí)就是一個(gè)函數(shù),在類里我們稱之為方法。
類其實(shí)就是由 屬性 和 方法 組成的一個(gè)抽象概念。
對(duì)象是由類創(chuàng)建出來的一個(gè)具體存在,可以直接使用。由哪一個(gè)類創(chuàng)建出來的對(duì)象,就擁有在哪一個(gè)類中定義的屬性和方法。在開發(fā)中,應(yīng)該先有類,在類里定義好屬性和行為,再根據(jù)類來創(chuàng)建對(duì)象。
類和對(duì)象的關(guān)系
類是模板,對(duì)象是根據(jù)類這個(gè)模板創(chuàng)建出來的,應(yīng)該先有類,再有對(duì)象。
使用同一個(gè)類,能夠創(chuàng)建出很多對(duì)象。
類中定義了什么屬性和方法,對(duì)象中就有什么屬性和方法。
不同對(duì)象對(duì)應(yīng)的屬性值也會(huì)不同。
三、類的定義
?
class 類名(): def 方法1(self,參數(shù)列表): pass def 方法2(self,參數(shù)列表): pass
方式一:通過?類名.類屬性
?訪問
方式二:通過?實(shí)例對(duì)象.類屬性
?訪問
class Person(object): # 類屬性 num = 10p = Person()# 方式一print(Person.num)# 方式二print(p.num)
通過前面對(duì)于面向?qū)ο缶幊痰牟僮鳎覀円呀?jīng)了解面向?qū)ο缶幊淌侵竸?chuàng)造一個(gè)類(動(dòng)物類,植物類等等)這些類有很多種特征(屬性),這些特征又是如何實(shí)現(xiàn)(方法,函數(shù))。那么面向?qū)ο缶褪蔷褪轻槍?duì)某一類物體進(jìn)行的介紹與方法
其實(shí)說白了面向?qū)ο笫蔷褪菍?duì)代碼進(jìn)行封裝,列表也是封裝,字典元組集合也是如此,函數(shù)亦是如此,面向?qū)ο蟮娜筇卣魇侵福?strong>封裝性,繼承性還有多態(tài)性
創(chuàng)建一個(gè)烏龜類
class wugui(): color="綠色" foot=4 weight=10 has_guike=True #會(huì)爬 def crawl(self): print("烏龜會(huì)爬") #會(huì)吃 def eat(self): print("烏龜會(huì)吃") #會(huì)睡覺 def sleep(self): print("烏龜會(huì)睡覺")
面向?qū)ο笠群瘮?shù)變量更加體現(xiàn)出事物的特征
構(gòu)造方法:
def __init__(self,......):
這個(gè)操作主要是構(gòu)造特征的時(shí)候解釋器會(huì)自動(dòng)調(diào)用它,在括號(hào)內(nèi)可以包含很多參數(shù)用逗號(hào)分割開,但是self是必不可少的
類體中的變量類型
所有函數(shù)之外,此范圍定義的變量,稱為類屬性或類變量
函數(shù)內(nèi)部,以self.變量名的方法定義但是變量,稱為實(shí)例屬性或?qū)嵗兞?/p>
函數(shù)內(nèi)部,以變量名=變量值的方法定義的變量稱為局部變量
操作
class Dog(): def __init__(self, name, age): self.name = name self.age = age def sit(self): print(self.name.title() + " is now sitting.") def roll_over(self): print(self.name.title() + " rolled over!")
在c語言當(dāng)中,曾經(jīng)使用微信程序了解到,在一個(gè)程序運(yùn)行的時(shí)候,程序從硬盤通過cpu的驅(qū)使下進(jìn)入到內(nèi)存中,程序是運(yùn)行數(shù)據(jù)由諸多變量組成,變量的作用是存儲(chǔ)數(shù)據(jù),我們理解為變量在程序中開辟空間存儲(chǔ)數(shù)據(jù),再又小程序進(jìn)行運(yùn)行,變量像一個(gè)盒子裝入了所有的數(shù)據(jù)
但是·在python中,變量和數(shù)據(jù)又有明顯不同
在python中,數(shù)據(jù)自成空間進(jìn)行運(yùn)行,變量與數(shù)據(jù)沒有包含關(guān)系,他的作用是用來保存數(shù)據(jù)的地址,它類似與c語言的指針,保存地址,指向這個(gè)數(shù)據(jù)完成代碼等等運(yùn)行
所以在python中,變量存儲(chǔ)變量的地址就是變量的引用,在python中函數(shù)的參數(shù)傳遞和返回值都是靠變量的引用完成的
所以說在python中每次定義變量一定要對(duì)變量進(jìn)行賦值,由于python的變量與數(shù)據(jù)的區(qū)別,所以必須必須有一個(gè)過程去訪問賦值的地址,使用這個(gè)變量,這個(gè)過程就叫做引用
在給變量賦值的時(shí)候,本質(zhì)上是修改了數(shù)據(jù)的引用
a=1b=aa=2
?在這個(gè)賦值操作中,a的地址發(fā)生改變,但b沒有
學(xué)啥啥不會(huì),作業(yè)咋學(xué)都不會(huì)
?1.
a=int(input("請(qǐng)輸入你想創(chuàng)建的寵物資料個(gè)數(shù)"))pets_list=[]print("創(chuàng)建寵物信息")for i in range(a): #自行輸入(寵物名字和主人名字) pet_name=input("請(qǐng)輸入寵物名字") name=input("請(qǐng)輸入主人名字") #現(xiàn)在將這些信息保存在字典中,字典的名字為這個(gè)寵物的名字 pet_name_dict={"pet_name":pet_name,"name":name} #自行創(chuàng)建一個(gè)寵物字典之后加入列表之中去 pets_list.append(pet_name_dict) #提示成功加入一個(gè)寵物字典 print("%s添加成功"%pet_name_dict["pet_name"]) print("功能:顯示全部")# 判斷是否有寵物字典記錄if len(pets_list) == 0: print("提示:沒有任何名片記錄")else:# 2. 顯示所有寵物字典 print("寵物/t/t主人") for pet_name_dict in pets_list: print("%s/t/t%s" % ( pet_name_dict["pet_name"], pet_name_dict["name"],))
2.
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/123080.html
摘要:后來知道有了院賽,學(xué)長(zhǎng)說刷院和杭電就可,我就一直刷院,到最后比賽前院的前五十道基本做完,杭電也弄了十來道,就這樣草草參加比賽了。 博客主頁: https://b...
摘要:網(wǎng)上有很多前端的學(xué)習(xí)路徑文章,大多是知識(shí)點(diǎn)羅列為主或是資料的匯總,數(shù)據(jù)量讓新人望而卻步。天了解一個(gè)前端框架。也可以關(guān)注微信公眾號(hào)曉舟報(bào)告,發(fā)送獲取資料,就能收到下載密碼,網(wǎng)盤地址在最下方,獲取教程和案例的資料。 前言 好的學(xué)習(xí)方法可以事半功倍,好的學(xué)習(xí)路徑可以指明前進(jìn)方向。這篇文章不僅要寫學(xué)習(xí)路徑,還要寫學(xué)習(xí)方法,還要發(fā)資料,干貨滿滿,準(zhǔn)備接招。 網(wǎng)上有很多前端的學(xué)習(xí)路徑文章,大多是知...
摘要:對(duì)于沒有任何計(jì)算機(jī)基礎(chǔ)的我,面臨的挑戰(zhàn)很多非相關(guān)專業(yè),去找計(jì)算機(jī)專業(yè)工作會(huì)有很多障礙。學(xué)習(xí)階段剛開始是學(xué)習(xí)語言,由于計(jì)算機(jī)專業(yè)大一就開始上課,所以我就去晚上去蹭語言的選修課,選修課老師講的比較淺,這也對(duì)我這個(gè)沒有一點(diǎn)基礎(chǔ)的人比較友好。 說起跨專業(yè),可能有好多同學(xué)都望而生畏,總覺得別人計(jì)算機(jī)專業(yè)的學(xué)生學(xué)了三年才找工作,我跨專業(yè)還怎么比得過別人? 其實(shí)不是這樣的,覺得自己不行其實(shí)都是你還沒...
摘要:對(duì)于沒有任何計(jì)算機(jī)基礎(chǔ)的我,面臨的挑戰(zhàn)很多非相關(guān)專業(yè),去找計(jì)算機(jī)專業(yè)工作會(huì)有很多障礙。學(xué)習(xí)階段剛開始是學(xué)習(xí)語言,由于計(jì)算機(jī)專業(yè)大一就開始上課,所以我就去晚上去蹭語言的選修課,選修課老師講的比較淺,這也對(duì)我這個(gè)沒有一點(diǎn)基礎(chǔ)的人比較友好。 說起跨專業(yè),可能有好多同學(xué)都望而生畏,總覺得別人計(jì)算機(jī)專業(yè)的學(xué)生學(xué)了三年才找工作,我跨專業(yè)還怎么比得過別人? 其實(shí)不是這樣的,覺得自己不行其實(shí)都是你還沒...
摘要:對(duì)于沒有任何計(jì)算機(jī)基礎(chǔ)的我,面臨的挑戰(zhàn)很多非相關(guān)專業(yè),去找計(jì)算機(jī)專業(yè)工作會(huì)有很多障礙。學(xué)習(xí)階段剛開始是學(xué)習(xí)語言,由于計(jì)算機(jī)專業(yè)大一就開始上課,所以我就去晚上去蹭語言的選修課,選修課老師講的比較淺,這也對(duì)我這個(gè)沒有一點(diǎn)基礎(chǔ)的人比較友好。 說起跨專業(yè),可能有好多同學(xué)都望而生畏,總覺得別人計(jì)算機(jī)專業(yè)的學(xué)生學(xué)了三年才找工作,我跨專業(yè)還怎么比得過別人? 其實(shí)不是這樣的,覺得自己不行其實(shí)都是你還沒...
閱讀 2012·2021-11-23 10:08
閱讀 2348·2021-11-22 15:25
閱讀 3282·2021-11-11 16:55
閱讀 781·2021-11-04 16:05
閱讀 2618·2021-09-10 10:51
閱讀 718·2019-08-29 15:38
閱讀 1593·2019-08-29 14:11
閱讀 3492·2019-08-29 12:42