国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Python面向?qū)ο缶幊?- 類和實例

Elle / 3353人閱讀

摘要:一面向?qū)ο缶幊獭J且婚T面向?qū)ο蟮木幊陶Z言,通過對象實現(xiàn)對方法的調(diào)用。面向過程的程序設計把計算機程序視為一系列的命令集合,即一組函數(shù)的順序執(zhí)行。對于面向?qū)ο笳Z言,重要的概念是類和實例。


一、preface

面向?qū)ο缶幊蘋OP:object oriented programming。
OOP把對象作為程序的基本單元,一個對象包含了數(shù)據(jù)和操作數(shù)據(jù)的函數(shù)。Python是一門面向?qū)ο蟮木幊陶Z言,通過對象實現(xiàn)對方法的調(diào)用。

面向過程的程序設計把計算機程序視為一系列的命令集合,即一組函數(shù)的順序執(zhí)行。為了簡化程序設計,面向過程把函數(shù)繼續(xù)切分為子函數(shù),即把大塊函數(shù)通過切割成小塊函數(shù)來降低系統(tǒng)的復雜度。
而面向?qū)ο蟮某绦蛟O計把計算機程序視為一組對象的集合,而每個對象都可以接收其他對象發(fā)過來的消息,并處理這些消息,計算機程序的執(zhí)行就是一系列消息在各個對象之間傳遞。

對于面向?qū)ο笳Z言,重要的概念是類和實例。類是一個抽象的模板,實例是根據(jù)類模板創(chuàng)建出的一個對象。
在python中,所有數(shù)據(jù)類型都可以視為對象,當然也可以自定義對象。自定義對象數(shù)據(jù)類型就是面向?qū)ο笾蓄惖母拍睿鶕?jù)類來創(chuàng)建對象。
它的三大特點就是:封裝、繼承、多態(tài)。

二、類class

類是一個抽象的模板,是一種數(shù)據(jù)結(jié)構(gòu)。

語法:
class class_name: pass
class class_name(object): pass

說明:
class是關(guān)鍵字,類。類名class_name通常以大寫字母開頭。
object表示該類是從哪個類繼承而來。事實上object是所有類都會繼承的基類,一般不會顯示寫出。(我一般會習慣寫上)

比如學生,一個班級會有很多個學生,那對于學生這個集合,會有很多共同的地方,比如說學生的姓名、學號、年級、專業(yè)、成績等一系列共同的特性,那么我們就可以把這些都抽象成一個學生Student類。如下:

class Student(object):
    pass

上面例子,我們先用pass進行演示,表示什么都不操作。

三、實例instance

通過類可以創(chuàng)建Student實例,方法如下:

>>> bart = Student()        # 變量bart指向的是一個Student的實例 
>>> bart
<__main__.Student object at 0x0086F710> # 類object 實例的內(nèi)存地址
>>> Student                 # 類
     # 返回的是Student 類的屬性 class

對類的實例,可以進行屬性的綁定。

屬性就是一個對象的數(shù)據(jù)或者函數(shù)元素。比如Student類中學生的姓名、學號等信息。

通過“據(jù)點屬性標識法”來訪問。

python是動態(tài)語言,根據(jù)類創(chuàng)建的實例可以任意綁定屬性。給實例綁定屬性的方法是通過實例變量,或者通過self變量。

>>> bart.name = "xlp"        # 動態(tài)給變量綁定屬性
>>> bart.name
"xlp"

那屬性是如何實現(xiàn)綁定的呢?__init__()實例方法。
當一個實例被創(chuàng)建后,Python會檢查是否實現(xiàn)了__init__()方法,如果沒有定義該方法,對實例不會施加任何特定的操作,任何需要特殊的操作,需要自己去自定義該方法。即__init()__會被自動調(diào)用,不管是默認的還是自定義的。

__init__(self)

1、 該方法的第一個參數(shù)永遠都是selfself指向創(chuàng)建的實例本身;

2、 通過該方法,把屬性綁定到self指向的實例上;

3、 __init__()方法返回None

4、 該方法中,可以設置默認參數(shù)和位置參數(shù)。創(chuàng)建實例時,不能傳入空的參數(shù),必須傳入與方法匹配的參數(shù),但self不需要傳入,默認參數(shù)根據(jù)需要進行傳入與否。

針對第三點:因為實例對象是在自動化創(chuàng)建實例調(diào)用后返回的,如果定義了構(gòu)造器__init__(),它不應該返回任何對象,否則就有可能發(fā)生沖突,只能返回實例。試圖返回任何非None的其他對象會報TypeError的錯誤:

查看實例屬性:dir()
通過內(nèi)建函數(shù)dir(class_name)可以查看類的屬性,例如:dir(Student1)。也可以訪問實例的屬性。自己嘗試打印出來看看~

屬性這一塊還有點玄幻:類屬性和實例屬性。下一小節(jié)一起來看看吧~
然后面向過程其實也不太記得了,如果有懂的小伙伴可以留言哦~ ~ ~


如果覺得文章有丟丟用處,動動小指,點個贊吧!

如果哪里寫的有問題,或者有更好的方式,cue我一下

? thanks for watching, keep on updating...

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/42519.html

相關(guān)文章

  • SICP Python 描述 2.6 實現(xiàn)類和對象

    摘要:以這種方式實現(xiàn)對象系統(tǒng)的目的是展示使用對象隱喻并不需要特殊的編程語言。我們的實現(xiàn)并不遵循類型系統(tǒng)的明確規(guī)定。反之,它為實現(xiàn)對象隱喻的核心功能而設計。是分發(fā)字典,它響應消息和。 2.6 實現(xiàn)類和對象 來源:2.6 Implementing Classes and Objects 譯者:飛龍 協(xié)議:CC BY-NC-SA 4.0 在使用面向?qū)ο缶幊谭妒綍r,我們使用對象隱喻來指導程序...

    chenjiang3 評論0 收藏0
  • [Python3]Python面向對象的程序設計

    摘要:于發(fā)表了著名的有害論的論文引起了長達數(shù)年的論戰(zhàn)并由此產(chǎn)生了結(jié)構(gòu)化程序設計方法。到現(xiàn)在為止面向?qū)ο笠呀?jīng)成為了主流的開發(fā)思想。面向?qū)ο蟮某绦蛟O計優(yōu)點解決了程序的擴展性。 [Python3]Python面向?qū)ο蟮某绦蛟O計 一、面向?qū)ο蟮某绦蛟O計的由來 1.第一階段:面向機器,1940年以前 最早的程序設計都是采用機器語言來編寫的,直接使用二進制碼來表示機器能夠識別和執(zhí)行的指令和數(shù)據(jù)。 簡單來...

    OpenDigg 評論0 收藏0
  • PHP設計模式(二):抽象類和接口

    摘要:在設計模式中,抽象類不能夠被實例化初始化,但是可以依靠具體類的繼承來實現(xiàn)。對于大型項目來說,對象都是由基本的抽象類繼承實現(xiàn),而這些類的方法通常都由接口來定義。 原文地址:PHP設計模式(二):抽象類和接口 Introduction 對于編程來說,對事物的抽象是一個老生常談的話題,抽象問題更利于面向?qū)ο缶幊桃约俺绦蛟O計模式。和C/C++,Java,Python等語言一樣,PHP也支持面向...

    xialong 評論0 收藏0
  • python大佬養(yǎng)成計劃--面向對象

    摘要:的名字并不是規(guī)定死的因為是形參,也可以使用,但是最好還是按照約定是用。類的私有方法兩個下劃線開頭,聲明該方法為私有方法,只能在類的內(nèi)部調(diào)用,不能在類地外部調(diào)用。。 類 面向?qū)ο缶幊叹哂腥筇匦裕憾鄳B(tài)、繼承、封裝定義:是一個抽象的模板對象:類實例化屬性:這個類實例化后的對象具有的特征方法:類對象可以執(zhí)行的函數(shù) 類的定義 class 類名 class People(object): ...

    hzc 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<