Python學習19 python類的繼承

2021-10-19 17:29:56 字數 3429 閱讀 1407

父類 子類

繼承如何表示?

class 子類名(父類名):

pass

子類可以實現自己獨有的方法 ==>重寫

super() 超繼承:使用父類當中的方法、

例項1:

class

man:

name =

"man"

def__init__

(self)

: self.name =

" "print

(man.name)

print

(man(

"csdn"

).name)

例項2

:class

yifu

:def

__init__

(self,brand,model,size)

:pass

defsell

(self,param)

:print

("market selling"

)print

("dont sell"

)print

("if dont sell"

)class

girl

(yifu)

:def

__init__

(self)

:super()

.sell(

"data"

)print

("girl mood"

)print

("you shop my cother"

)nvzhuang = girlyifu(

)nvzhuang.sell(

)

class

phone

:def

__init__

(self,number)

: self.number = number

defcall

(self,to,recorded =

false):

print

("{} to {} call phone"

.format

(self.number,to)

)if recorded :

self.record(

)def

record

(self)

:print

("{}recording"

.format

(self.number)

)class

smartphone

(phone)

:def

__init__

(self,number,brand)

: self.number = number

self.brand = brand

defwatch_movie

(self,name)

:print

("moving {}"

.format

(name)

)class

iphone

(smartphone)

:def

__init__

(self,number)

:#重寫例子記得注釋super()方法

super()

.__init__(number,

'蘋果'

) self.number = number

self.brand =

"蘋果"

defface_time

(self)

:print

("{}faceing"

.format

(self.number)

)def

call

(self,to,recorded =

false

,face =

false):

print

(" {} 給 {} 打**。。"

.format

(self.number, to)

)if recorded:

self.record(

)#重寫例子記得注釋super()方法

super()

.call(to,recordede =

false

)super()

.call(to,recorded =

false

)if face:

self.face_time(

)

normal_phone = phone(

'1')

print

(normal_phone.record())

'''列印結果:

1 recording

none

'''normal_phone = phone(

'1')

#父類當中不能呼叫子類方法。

normal_phone.watch_movie(

"紅海行動"

)"""

列印結果:報錯:

attributeerror: phone instance has no attribute 'watch_movie'

"""smart_phone = smartphone(

"2")

print

(smart_phone.record())

print

(smart_phone.number)

smart_phone.watch_movie(

'小偷家族'

)"""

列印結果:報錯

typeerror: __init__() takes exactly 3 arguments (2 given)

"""# 當子類和父類具有同樣的方法或者屬性的時候。

# 父類還是用父類的, 子類不再有父類的,而是用自己的。

normal = phone(

"1")

smart = smartphone(2,

'華為'

)重寫例子2

iphone = iphone(

'蘋果5'

)iphone.call(

'開始'

, face=

true

)"""

列印結果:

蘋果5 給 開始 打**。。

"""smart = smartphone(

"123"

,'華為'

)smart.call(

'阿東'

, face=

true

)"""

列印結果:報錯

typeerror

"""

python學習之路(19)

匿名函式 當我們在傳入函式時,有些時候,不需要顯式地定義函式,直接傳入匿名函式更方便。在python中,對匿名函式提供了有限支援。還是以map 函式為例,計算f x x2時,除了定義乙個f x 的函式外,還可以直接傳入匿名函式 maop list map lambda x x x,range 1,5...

Python學習筆記 1 1 2 認識Python

一.課程目標 二.詳情解讀 1.初識pythonpython語言是一種高階程式語言,它於1991年由吉多.範羅蘇姆 guido van rossum 發明。目前主要應用於web開發 gui開發 網路爬蟲 資料科學 人工智慧等領域。python官方 python語言也是一種多正規化程式語言,即物件導向...

python學習方法 十二種學習Python的方法

python學習方法 python是地球上最流行的程式語言之一。它被世界各地的開發商和製造商所接受。大多數linux和macos計算機都預裝了python版本,現在,即使是少數windows計算機 商也正在安裝python。也許您參加聚會遲到了,您想學習但不知道該去 這12個資源將幫助您入門,並逐步...