python基礎學習(10 17) 類與物件

2021-09-29 07:58:12 字數 2132 閱讀 8114

#運算子多型(對數值和字串都可以實現)

>>

>1+

23>>

>

'a'+

'b''ab'

#函式多型(對列表和字串都可以實現)

>>

>

deflength

(object):

print

('the length of '

,repr

(object),

'is'

,len

(object))

>>

> length([1

,2,3

,4,5

,6])

the length of [1,

2,3,

4,5,

6]is6

>>

> length(

'abcdefgh'

)the length of 'abcdefgh'

is8

(2)封裝

#封裝方法:with 方法的原理基本上不會過於關注,但都會使用

with

open

('a.txt'

,'w'

)as f:

for lines in f :

print

(lines)

#自定義函式封裝,呼叫他人函式時可以不必知道執行的細節

defrun

(speed,time=0)

:return

'奔跑的距離是%dm'

%(time *speed)

>>

> run(5,

5)'奔跑的距離是25'

(3)繼承

#自定義類

class

person

:def

set_name

(self,name)

: self.name=name

defget_name

(self)

:return self.name

defgreet

(self)

:print

('hello,i am {}'

.format

(self.name)

)

(1)隱藏屬性

class

secret

:def

__issecret

(self)

:print

("it's a secret"

)def

not_secret

(self)

:print

("it's not a secret"

)>>

> s.not_secret(

)it's not a secret

>>

> s.__issecret(

)traceback (most recent call last)

: file ""

, line 1,in

s.__issecret(

)attributeerror:

'secret'

object has no attribute '__issecret'

(2)繼承深入

1)指定超類(可以同時指定多個超類)

注:指定多個超類時(多重繼承)如果多個超類以不同方式實現了同乙個方法,必須小心排列這些超類,位於前面的類的方法將覆蓋後面的類的方法。

class

super_type

:def

init

(self)

:pass

defisstr

(self,str1)

:pass

class

ssuper_type

:def

a_function

(self)

:pass

Python基礎學習 類

1.類的名稱 類名 2.類的屬性 指物件的特徵 一組資料 3.類的方法 允許物件進行操作的方法 行為 功能 class myclass x 16 定義類變數 y python class defmyfun self 定義類方法 return hello python a myclass 例項化類 訪...

python基礎學習七 類

python 物件導向相對別的語言來說缺少兩個功能 1 python不具備過載,過載是指在同乙個類中,使得方法有相同的名稱,但是有不同的引數列表,但由於python函式具有強大的引數處理功能,因此這不是乙個問題。2 python不存在強制資料隱私的機制,不過若想建立屬性 例項變數或方法 時在屬性名前...

Python學習筆記(十五) 類基礎

以mark lutz著的 python學習手冊 為教程,每天花1個小時左右時間學習,爭取兩周完成。寫在前面的話 2013 7 24 23 59 學習筆記 1,python中的大多數oop故事都可以簡化為乙個表示式 object.attribute 當類啟用時,為了找出attribute首次出現的地方...