1class
dog(object):
2 n=123
3 name='
類變數name
'4 n_list=56
def__init__(self,name,life_value=100): #
傳引數7 self.name=name
8 self.__life_value=life_value 910
def__del__
(self):
11print("
%s dead
"%self.name)
1213
defshow_status(self):
14print("
test 私有變數呼叫 name:%s,life_value:%s
" %(self.name,self.__life_value
))15
16def
bulk(self):
17print("
%s is wang wang wang
" %self.name)
1819 d1=dog("
huanhuan
")
20d1.bulk()
21print("
d1:"
,d1.name,d1.n)
d1,'
) 23 d1.wierd=true #增24
print("
d1:"
,d1.name,d1.n,d1.n_list,d1.wierd)
25d1.show_status()
26del d1.n #刪27
28del
d1
2930 d2=dog('
lele')
d2,')32
print("
d2:"
,d2.name,d2.n,d2.n_list)
3334
print("
dog:
",dog.name,dog.n,dog.n_list)
物件導向三特性:封裝,繼承,多型。
封裝:將類的功能的實現細節對外部來說是透明的。
繼承:**的重用。
多型:一種介面,多種實現。
建構函式:例項化過程中做一些初始化的工作,傳參。
def __init__(self,name,life_value=100): #傳引數呼叫:d1=dog('huanhuan')7 self.name=name
8 self.__life_value=life_value
展開來看:
d1.name='huanhuan'
d1.__life_value=100
析構函式:在例項釋放、撤銷時,做收尾工作,如斷開資料庫連線,關閉已開啟的臨時檔案
def __del__(self):11 print("%s dead"%self.name)
28 deld1 #刪除d1例項,(門派號沒了,房子可以拆了),銷毀物件,執行析構函式
而程式中沒有寫del d2,所以d2物件析構函式的呼叫是在整個程式結束時。私有屬性、私有方法:外部不能直接呼叫,必須通過類的其他方法才能呼叫。
8 self.__life_value=life_value (前面有__)呼叫:
13 defshow_status(self):14 print("test 私有變數呼叫 name:%s,life_value:%s" %(self.name,)
不能直接在外部print(self.__life_value)會報錯
#私有方法def__sleep
(self):
print('
私有方法:%s is sleeping
' %self.name)
#呼叫私有方法
defshow_status(self):
self.
__sleep()
python物件導向學習 python物件導向學習
物件導向最重要的概念就是類 class 和例項 instance 必須牢記類是抽象的模板,比如student類,而例項是根據類建立出來的乙個個具體的 物件 每個物件都擁有相同的方法,但各自的資料可能不同。物件導向三個概念 1.封裝 即把客觀事物封裝成抽象的類,並且類可以把自己的資料和方法讓可信的類進...
python物件導向總結 Python物件導向總結
python 物件導向 oop 1 物件導向 是乙個更大封裝,把乙個物件封裝多個方法 2 類 是對一些具有相同特徵或行為的事物的乙個統稱,是抽象的,不能直接使用 特徵被稱為屬性 行為被稱為方法 3 物件 是由類建立出來的乙個具體的存在,可以直接使用 先有類再有物件,類只有乙個,而物件可以有多個 類中...
python登入物件導向 python 物件導向
一 屬性和方法 1.a a 例項屬性 通過例項物件來新增的屬性就是例項屬性 a.count 10 例項方法都是在類中直接定義的 以self為第乙個引數的方法都是例項方法 當通過例項物件呼叫時,會自動傳遞當前物件作為self傳入 當通過類物件呼叫時,不會自動傳遞self a.test 等價於 a.te...