Python學習 第三天 物件導向程式設計基礎

2022-03-16 22:17:37 字數 2043 閱讀 2686

簡單的說,類是物件的藍圖和模板,而物件是類的例項。這個解釋雖然有點像用概念在解釋概念,但是從這句話我們至少可以看出,類是抽象的概念,而物件是具體的東西。在物件導向程式設計的世界中,一切皆為物件,物件都有屬性和行為,每個物件都是獨一無二的,而且物件一定屬於某個類(型)。當我們把一大堆擁有共同特徵的物件的靜態特徵(屬性)和動態特徵(行為)都抽取出來後,就可以定義出乙個叫做「類」的東西。

在python中,屬性和方法的訪問許可權只有兩種,也就是公開的和私有的,如果希望屬性是私有的,在給屬性命名時可以用兩個下劃線作為開頭,下面的**可以驗證這一點。

class test:

def __init__(self, foo):

self.__foo = foo

def __bar(self):

print(self.__foo)

print('__bar')

def main():

test = test('hello')

# attributeerror: 'test' object has no attribute '__bar'

test.__bar()

# attributeerror: 'test' object has no attribute '__foo'

print(test.__foo)

if __name__ == "__main__":

main()

但是通過更換名字的規則我們仍然可以訪問到它們,就是使用乙個下劃線

class test:

def __init__(self, foo):

self.__foo = foo

def __bar(self):

print(self.__foo)

print('__bar')

def main():

test = test('hello')

test._test__bar() #這裡使用乙個下滑線也是可以使用這個私有的函式的

print(test._test__foo)

if __name__ == "__main__":

main()

物件導向有三大支柱:封裝、繼承和多型

from time import sleep

class clock(object):

"""數字時鐘"""

def __init__(self, hour=0, minute=0, second=0):

"""初始化方法

:param hour: 時

:param minute: 分

:param second: 秒

"""self._hour = hour

self._minute = minute

self._second = second

def run(self):

"""走字"""

self._second += 1

if self._second == 60:

self._second = 0

self._minute += 1

if self._minute == 60:

self._minute = 0

self._hour += 1

if self._hour == 24:

self._hour = 0

def show(self):

"""顯示時間"""

return '%02d:%02d:%02d' % \

(self._hour, self._minute, self._second)

def main():

clock = clock(23, 59, 58)

while true:

print(clock.show())

sleep(1)

clock.run()

if __name__ == '__main__':

main()

js物件導向第三天

函式也是物件 函式也是通過類來建立的,通過function來建立函式物件 函式是比較特殊的物件,函式的宣告是引用資料型別,通過function類建立乙個函式 new function 可以建立出來的乙個匿名物件 通過function類建立物件 函式是物件,物件是屬性的無序集合 常用的屬性 argum...

學習python 第三天

python的分支結構 if語句 在python中,要構造分支結構可以使用if elif和else 驗證 answer input 請輸入使用者名稱 if answer a print 回答成功 else print 回答失敗 如果要構造出更多的分支,可以使用if elif else 結構 多次驗證...

Python學習第三天

堅持打卡第三天,加油!小大牛。python的列表類似簡化版的c語言陣列,它由一系列按照特定序列排列的元素組成 school beida qinghua huadian print school beida qinghua huadian 由 括起來的部分就是元素序列。其中元素的排列順序是從 0 開始...