python學習筆記三:面向對象


定義一個類

class Person:
    '''這是文檔字符串'''
    phone = None 				#這是類變量
    def __init__(self, name, age = 20):
        self.name = name   #成員變量
        self.age = age
    def show(self):
        print self.name
        print self.age    

p = Person("Mat")
print p.__doc__
p.phone = 10
p.show()

輸出:

Mat
20
  1. py允許在類或函數頭使用文檔字符串來描述其作用, 使用函數名.__doc__, 類名.__doc__或者類實例名.__doc_來獲取其文檔字符串
  2. 每個函數必須帶一個參數, 是指向類實例的引用, 默認應該命名爲self
  3. __init__函數爲構造函數, python自帶垃圾回收機制
  4. 類中分爲類變量成員變量, 兩者作用域不同, 可以理解爲類變量屬於類, 成員變量屬於類實例.
    類變量可以通過類或者實例去調用,
    成員變量只能通過實例調用
    如果成員變量和類變量同名, 使用實例調用時默認先看實例變量
    類變量屬於類, 每個對象分別在實例化時將類變量複製一份, 各個實例之間互不影響, C++的類靜態變量由所有對象共同持有
  5. python沒有訪問控制, 沒有權限控制, 所有變量都可以從外部調用, 可以在類成員加雙下劃線__實現僞私有化

寫一個類是否繼承object區別


updating

發佈了81 篇原創文章 · 獲贊 97 · 訪問量 10萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章