基礎知識回顧——物件導向編程

來源:互聯網
上載者:User

標籤:blank   相對   module   reload   包括   att   修飾符   字元   border   


在進入物件導向編程之前,希望對python常見內建函數做個整理,參考來自官網;

常見內建函數

chr(number) 返回ASCII碼為給定數位字元
ord(char) 返回給定單字元(長度為1的字串或者Unicode字串)的ASCII值
all(iterable) 如果所有iterable的元素均為真則返回True, 否則返回False
any(iterable) 如果有任一iterable的元素為真則返回True,否則返回False
callable(object) 檢查對象是否可調用
dir([object]) 選擇性地列出給定對象的(大多數)特性
help([object]) 調用內建的協助系統,或者列印給定對象的協助資訊
reload(module) 重載入一個已經載入的模組並將其返回
repr(object) 返回表示對象的字串,一般作為eval的參數使用
eval(string[, globals[, locals]]) 對包含運算式的字串進行計算
input([prompt]) 等同於eval(raw_input(prompt)
raw_input([prompt]) 將使用者輸入的資料作為字串返回,可選擇使用給定的提示符prompt
str(object) 返回表示給定對象object的格式化好的字串
type(object) 返回給定對象的類型

 

 

物件導向編程

物件導向是一種程式設計方法,相對面向過程而言,把函數進行分類和封裝。

物件導向概念初識

概念

說明

例子

類

現實世界中的一些事物抽象封裝。以關鍵字class開頭,後接類名及冒號。

class  Person:

      name = ‘Lucy’

      def SetAge(self,age):

           Self.age = age

對象

類定義後的一個執行個體,對象包括屬性和方法。對象分為類對象,執行個體對象

 

類對象

類定義完成之後即產生了一個全域的類對象,可以通過類對象來訪問類中的屬性和方法。

Person 類對象

執行個體對象

執行個體對象是對類的執行個體化,可以執行個體化多個

p = Person() 執行個體對象

屬性

 形容對象是什麼或者能幹什麼

 

類屬性

類屬性所有執行個體對象所共有的屬性,在類外,可以通過類對象定義或修改,在類裡面,只能在類方法中進行定義或修改。

name = ‘Lucy’  類屬性

Person.country = ‘china’ 通過類對象定義

執行個體屬性

某個執行個體對象的屬性,當與類屬性衝突時,執行個體屬性屏蔽類屬性。

p.country = ‘china’  通過執行個體對象定義

私人屬性

以雙底線開頭,不能在類的外部被直接存取

__name = ‘Lucy’

函數

完成特定功能的代碼塊,便於重用

def SetAge(age):

    return age

方法

方法同函數功能一樣,寫在類中,同對象聯用

def SetAge(self,age):

     Self.age = age

類方法

含@classmethod修飾符且必須有cls參數的方法,可以通過執行個體對象和類對象訪問

 @classmethod

def SetAge(cls,age):

     cls.age = age

執行個體方法

含self的方法,只能通過執行個體對象訪問

def SetAge(self,age):

     Self.age = age

靜態方法

含@staticmethod修飾符的方法,只能通過類對象訪問

 @staticmethod

def SetAge(age):

     return  age

 

常見內建方法

類的內建方法

內建方法名

說明

__init__(self,...)

初始化對象,在建立新對象時調用

__del__(self)     

釋放對象,在對象被刪除之前調用

 __new__(cls,*args,**kwd)

執行個體的產生操作

__str__(self)

在使用print語句時被調用

 __call__(self,*args)     

把執行個體對象作為函數調用

__getattr__(s,name)

擷取屬性的值

__setattr__(s,name,value)

設定屬性的值

 __delattr__(s,name)

刪除屬性的值

基礎知識回顧——物件導向編程

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.