国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【python學(xué)習(xí)】面向?qū)ο缶幊?

這篇具有很好參考價(jià)值的文章主要介紹了【python學(xué)習(xí)】面向?qū)ο缶幊?。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

編程思想

面向過程編程(思想)

流水線形式
優(yōu)點(diǎn):邏輯清晰
(邏輯一步一步的,是一個(gè)系統(tǒng))
缺點(diǎn):擴(kuò)展性差
(上一個(gè)函數(shù)的輸出是下一個(gè)函數(shù)的輸入)

面向?qū)ο缶幊蹋ㄋ枷耄?/h3>

對象是什么?
Python中一切皆對象

對象:就是特征和技能的結(jié)合體。

面向?qū)ο缶幊蹋憾x初一個(gè)個(gè)鮮明獨(dú)特的對象,然后通過對象之間的交互編程。

優(yōu)點(diǎn):擴(kuò)展性非常強(qiáng)
缺點(diǎn):邏輯非常復(fù)雜

類和對象

以選課系統(tǒng)為例
定義學(xué)生對象:

姓名:小明
學(xué)號:123456
學(xué)校:oldboy
技能:選課

姓名:小紅
學(xué)號:123457
學(xué)校:oldboy
技能:選課

定義老師對象:

姓名:李老師
學(xué)校:oldboy
技能:教課

姓名:張老師
學(xué)校:oldboy
技能:教課

類:分類/類別

按照學(xué)生和老師可以劃分兩類,一個(gè)是學(xué)生類,一個(gè)是老師類

類的概念:一系列具有共同特征或技能的對象。

在現(xiàn)實(shí)世界中先有對象,再有類。
在Python中先有類,再有對象。

用Python定義一個(gè)類

定義類,會直接運(yùn)行類體代碼
class 類明(必須得用駝峰體):
定義一系列特征
定義一系列方法

實(shí)例化對象
對象 = 類名()

# 類的定義階段,會運(yùn)行代碼
class OldBoyStudent:
	school = 'oldboy'
	
	# self是對象本身
	# __開頭的方法會在某種情況自動(dòng)調(diào)用
	# __init__在類實(shí)例化的時(shí)候自動(dòng)調(diào)用
	def  __init__(self, name, age, gender):
		self.name = name
		self.age = age
		self.gender = gender
	
	# 函數(shù)定義階段,只檢測語法,不執(zhí)行代碼
	def choose_cource(self):
		print('is choosing cource')

# 雙下劃線開頭的方法會在某種情況下自動(dòng)觸發(fā)
print(OldBoyStudent.__dict__)

# 實(shí)例化對象
stu1 = OldBoyStudent('jack','18','male')
print(stu1.school)
print(stu1.choose_cource())
 
stu2 = OldBoyStudent()
print(stu2.school)
print(stu2.choose_cource())

對象的屬性查找順序

先從對象本身查找,然后從類中查找,類也沒有則報(bào)錯(cuò)。

類與數(shù)據(jù)類型

所有的數(shù)據(jù)類型都是類。

對象的高度整合

對象會有一大堆屬性/數(shù)據(jù),還會有一大推方法來適應(yīng)操作這些屬性,然后對于不同的對象,這些屬性又不同。

類的繼承

繼承是一種新建類的方式,新建的類稱為子類,被繼承的類稱為父類。
在Python當(dāng)中,父類、子類(派生類),父類和子類只有在繼承的時(shí)候才會產(chǎn)生。

class Parent_Foo:
    def __init__(self, first_name, money, car, house):
        self.first_name = first_name
        self.money = money
        self.car = car
        self.house = house
        
    def fine_wife(self):
        print(f'{self.first_name}先生找到妻子了')
	
    
# pf = Parent_Foo('jack', 5, 'tesla',  '1套')    
    
class Son_Foo(Parent_Foo):
	pass

sf = Son_Foo('jack', 1000, 'tesla',  '1套')
print(sf.first_name)
print(sf.money)
print(sf.car)
print(sf.house)
sf.fine_wife()

為什么要使用繼承?
減少重復(fù),所有的父親都可以用這個(gè)類,隔離了復(fù)雜度。
不推薦使用繼承,當(dāng)繼承多個(gè)的時(shí)候,功能與功能之間會混亂,頂過繼承一個(gè)。
繼承后查找順序,先自己,再類,再父類,再父類的父類·······
繼承就是為了使用父類的屬性。

類的派生

添加新的屬性,同時(shí)還繼承父類的所有東西。
方法一:直接使用

類名.__init__()

方法二:使用繼承的方法

supper().__init__()

派生:繼承父類的屬性同時(shí)增加新的屬性,然后使用supper().init()

類的組合

組合:組合在一起。
把對象當(dāng)作變量值來用,當(dāng)作形參/實(shí)參/返回值。

菱形繼承問題

在python3當(dāng)中會默認(rèn)繼承object類;在python2當(dāng)中不會默認(rèn)繼承object類,必須得手動(dòng)添加。
新式類:只要繼承了object類的就是新式類,python3當(dāng)中所有的類都是新式類。
經(jīng)典類:沒有繼承object類就是經(jīng)典類,只有python2當(dāng)中有經(jīng)典類。
當(dāng)繼承為菱形繼承的時(shí)候,經(jīng)典類和新式類搜索某一個(gè)屬性的順序會不一樣。
在新式類中,當(dāng)遇到菱形繼承時(shí),會以廣度優(yōu)先查找。
在經(jīng)典類中,當(dāng)遇到菱形繼承時(shí),會以深度優(yōu)先查找。

多態(tài)與多態(tài)性

多態(tài):多種狀態(tài),只要大家能繼承同一種東西A,這些東西就是A 的多態(tài)。
水:液態(tài)/固態(tài)/氣態(tài)
不推薦使用文章來源地址http://www.zghlxwxcb.cn/news/detail-814365.html

到了這里,關(guān)于【python學(xué)習(xí)】面向?qū)ο缶幊?的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包