零基礎入門學習Python(16):對象(1)

零基礎入門學習Python(16):對象(1)

Python無處不對象,對象 = 屬性 + 方法(變量+函數)

>>> class FirstClass:          #Python中的類名約定以大寫字母開始
        #屬性
        color = 'red'
        name = 'Jessica'
        #方法
        def eat(self):         #類中方法定義時把self寫進第一個參數,這是默認的要求
            print("I want to eat something...")
        def sleep():
            print("I want to sleep...")

面向對象(Object Oriented)的特徵
1、封裝:信息隱蔽技術

>>> test1 = FirstClass()       #test1是FirstClass類的一個實例對象
>>> test1
<__main__.FirstClass object at 0x026E5A90>
>>> test1.name                 #可以通過實例調用類的屬性和方法
'Jessica'
>>> test1.eat()
I want to eat something...

2、繼承:子類自動共享父類數據和方法的機制

>>> class MyList(list):        #創建自己的列表類MyList,讓它繼承Python中的列表類list
    pass                       #pass是一個佔位符,表示這個類不做任何事情

>>> list1 = MyList()           #生成一個MyList的對象,即生成了一個空列表,相當於list1 = list()
>>> list1
[]
>>> list1.append(2)            #由MyList生成的對象可以調用父類list的方法
>>> list1
[2]

3、多態:當不屬於同一類時,不同類可以有相同的屬性名和方法名

>>> class A:
    name = 'xiuxiu'
    def fun(self):
        print("I like playing...")

>>> class B:
    name = 'Jessica'
    def fun(self):
        print("I like eating...")

>>> a = A()
>>> b = B()
>>> a.name                     #因爲是不同類的對象,所以會調用相應類的屬性和方法
'xiuxiu'
>>> a.fun()
I like playing...
>>> b.name
'Jessica'
>>> b.fun()
I like eating...

零基礎入門學習Python(15):二進制存儲pickle和異常處理

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章