#運算子多型(對數值和字串都可以實現)
>>
>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首次出現的地方...