學習python的第四天
一.類和物件:(物件是累的例項化)
1.定義類(class)
class
lei(
object):
def__init__
(self)
:#在建立物件時進行初始化
self.a=
1000
defstudy
(self)
:print
("正在學習"
)if __name__==
"main"
: lei_=lei(
)#相當於呼叫__init__()
lei_.study(
)"""
屬性和方法的訪問只有倆種,公開的和私有的
如果是私有的,定義時加倆個下劃線
加單下劃線是約定為私有的
"""class
tst(
object):
def__init__
(self)
: self.__foo=
100def
__bre
(self)
:print
(self.__foo)
print
('__bar'
)if ___name__==
"__main__"
: ts=tst(
) ts.__bre(
)#私有不可呼叫,如果想呼叫可以用ts._tst__bre()或用訪問器呼叫
在這裡插入**片
物件導向的支柱為:封裝,繼承,多型
練習:定義乙個類描述數字時鐘
class
clock
(object):
def__init__
(self,shi=
0,fen=
0,miao=0)
: self._shi=shi
self._fen=fen
self._miao=miao
defrun(self)
: self._miao +=
1if self._miao==60:
self.miao=
0 self._fen +=
1if self._fen==60:
self._fen=
0 self._shi +=
1if self._shi==24:
self._shi=
0def
show
(self)
:return
'%02d:%02d:%02d'
% \'(self._shi,self._fen,self._miao)
defmain()
: cl=clock(23,
59,58)
while
true
:print
(cl.show())
sleep(1)
cl.run(
)if __name__==
"__main__"
: main()
在這裡插入**片
二.物件導向高階:
@property 裝飾器
getter(訪問器) setter(修改器)
例:class
person
(object):
#__slots__=('__num','__sum')
#繫結__num和__sum的屬性
def__init__
(self,num,
sum)
: self.__num=num
self.__sum=
sum @property
defnum
(self)
:return self.__num
@property
defsum
(self)
:return self.__sum
@sum
.setter
defsum(self,
sum)
: self.__sum=
sumdef
play
(self)
:if self._age <=16:
print
('%s正在玩飛行棋.'
% self._num)
else
:print
('%s正在玩鬥地主.'
% self._num)
defmain()
: person = person(
'王大錘',12
) person.play(
) person.
sum=
22 person.play(
)if __name__ ==
'__main__'
: main(
)
在這裡插入**片
靜態方法和類方法
1.靜態方法和類方法都是通過各類發訊息來呼叫
2.也可以通過給類發訊息來呼叫物件方法彈藥傳入接收訊息的物件作為引數
類之間的關係:
類和類之間的關係有三種:is-a(繼承或泛化)、has-a(關聯)和use-a(依賴)關係
繼承和多型:
class 類名(object)
新建的這個類繼承了object類
子類在繼承了父類的方法後,可以對父類已有的方法給出新的實現版本,這個動作稱之為方法重寫(override
學習python 第四天
python 迴圈結構 迴圈結構可以輕鬆的控制某件事重複 再重複的發生。在python中構造迴圈結構有兩種做法,一種是for in迴圈,一種是while迴圈。for in迴圈 如果明確的知道迴圈執行的次數或者是要對乙個容器進行迭代 後面會講到 那麼我們推薦使用for in迴圈 用for迴圈實現1 1...
Python學習 第四天
map函式可以對序列中個每個值進行某種批量轉化操作,然後將結果作為迭代器iterator返回,迭代器可以利用for迴圈或者next 函式來訪問每個值。map函式接收兩個引數,乙個是函式f,乙個是iterator,map在iterable的每個元素上依次執行函式f,並把結果作為新的iterator迭代...
學習python,第四天
echo 內容 a 將內容放到檔案裡 ls lh a 會覆蓋原有內容 echo a 追加到末尾 不會覆蓋原有內容 管道 ls lha more shutdown關機 shutdown now立刻關機 shutdown r重啟 shutdown c取消 shutdown 10 00十點關機 shutd...