python面向對象編程初學整理

面向對象三大特性:多態(Polymorphism),繼承(Inheritance)和封裝(Encapsulationpython

  • 類:對具備相同數據和方法的一組對象的描述或定義。web

  • 對象:對象是一個類的實例。ide

  • 實例(instance):一個對象的實例化實現。函數

  • 標識(identity):每一個對象的實例都須要一個能夠惟一標識這個實例的標記。atom

  • 實例屬性(instance attribute):一個對象就是一組屬性的集合。spa

  • 實例方法(instance method):全部存取或者更新對象某個實例一條或者多條屬性的函數的集合。code

  • 類屬性(classattribute):屬於一個類中全部對象的屬性,不會只在某個實例上發生變化orm

  • 類方法(classmethod):那些無須特定的對性實例就可以工做的從屬於類的函數。對象

 #!/usr/bin/env python
#coding:utf-8
class people:#類(建立一我的的類)
   def __init__(self,name,age,sex): #__init__是初始化對象,在實例化對象前完成,根據對象實例時自動執行。
      self.Name = name                          # 當一個類定義了__ init __ 方法後,類實例化時會自動調用 __ init __ ().
      self.Age = age
      self.Sex = sex
   def talk(self):#函數,在類中叫方法必需要帶self這個形式參數,無論有沒有參數
      print("hello world")
class man(people):#建立一個男人的子類,他繼承了父類中的全部屬性和方法
    def __init__(self,name,age,sex,job):
       people.__init__(self,name,age,sex)
       self.job = job
    def action(self):
       print("You job is",self.job)繼承

kinger = people('king',24,'man')#實例話一個對象,注意字符參數要加引號。封裝這三個參數到name,age,sex屬性中
kinger.talk()  #調用類方法

kinger.add = 'sz' #給實例增長一個屬性
print kinger.Name ,kinger.add

atom = man('blue',24,'femail','IT')#封裝這幾個參數給man這個類,實例化atom這個對象
print atom.job,atom.Name,atom.Sex,atom.Age

atom.action()#調用自己的方法
atom.talk()#調用父類中的方法

 執行結果以下:

對象=屬性+方法

  一個對象的特徵也稱爲屬性(attribute)。它所具備的行爲也稱爲方法(method)類實例化後,可使用其屬性,實際上,建立一個類以後,能夠經過類名訪問其屬性若是直接使用類名修改其屬性,那麼將直接影響到已經實例化的對象。

把具備相同屬性和方法的對象歸爲一個類(class)。

類是對象的抽象化,對象是類的實例化類不表明具體的事物,而對象表示具體的事物。

類的方法在類地內部,使用def關鍵字能夠爲類定義一個方法,與通常函數定義不一樣,類方法必須包含參數self,且爲第一個參數。私有的類方法__private_method 兩個下劃線開頭,聲明該方法爲私有方法,不能在類地外部調用在類的內部調用slef.__private_methods類的部分專有方法:__init__  構造函數,在生成對象時調用__del__   析構函數,釋放對象時使用__repr__ 打印,轉換__setitem__按照索引賦值__getitem__按照索引獲取值

相關文章
相關標籤/搜索