天天看點

趁着課餘時間學點Python(十)面向對象的了解(前奏)前言正文結語

趁着課餘時間學點Python(十)面向對象的了解(前奏)前言正文結語

文章目錄

說起來這一篇本打算早就寫的,因部落客沉迷小說耽擱了

友情客串:

大黃

—— 大一新生,對底層比較感興趣,學習能力極強

趁着課餘時間學點Python(十)面向對象的了解(前奏)前言正文結語

終于要到緊張刺激的面向對象環節了,沖沖沖

程式設計語言有面向對象(Java,Python)和面向過程(C語言)之分,面向對象需要一些抽象的思維才行。

面向過程和面向對象有什麼差別呢?

面向過程注重親力親為,意思也就是自己去幹這件事;而面向對象更傾向于找個人給自己做事。

就拿那個老生常談的例子來說吧——洗衣服:

面向過程的洗衣服是:

  1. 把衣服拿到洗衣機旁邊
  2. 放進去
  3. 等待
  4. 撈出來

等下一次洗衣服,你還得重複這些操作

而這就是函數式程式設計

而面向對象則是:

  1. 創造一個機器人
  2. 教他如何洗衣服
  1. 讓他去幹活

等下一次需要洗衣服,就讓機器人去幹就行了

而面向對象繞不開的就是類和對象了,接着往下看吧

看了上面的内容,應該已經對面向對象有了一定的了解吧,那麼來看看什麼是類和對象吧、

類是個抽象的東西,比如說人類,動物類,植物類,類是具有某些相同特征的事物的集合

那麼如何定義一個屬于我們的類呢?有三種方法,推薦使用第三種

# 定義一個Xxx類
class Xxx:
    代碼塊
class Xxx():
    代碼塊
class Xxx(object):
    代碼      

這就成了

而類需要有屬性,行為(方法)等東西

而屬性就是在類裡面的局部變量

而行為就是定義在類裡面的函數

而每個類都有一些預設的行為(方法),比如這個構造方法

__init__

每個類都預設有這個構造方法,而 構造方法裡面的内容是會在執行個體化的時候就運作的,也就是,你執行個體化的時候,就會調用這個

__init__

構造方法。

而對象是什麼呢?

對象是類的執行個體化,拿人類來說,人是一個類,而我們每個人都是人這個類的執行個體化對象。

看代碼:

# 定義一個人類
class 人(object):
    代碼塊

# 執行個體化對象
大黃 = 人()      

很明顯,大黃是人這個類的執行個體化對象,換句話說,大黃是個人,在這句話裡,大黃就是對象,人就是類

雖然Python是面向對象的語言,但是他也能面向過程程式設計,也就是函數式程式設計

話不多說,直接上代碼

# 大家好,我是大黃,我要開始洗衣服了
def 拿衣服():
    print("把衣服拿到洗衣機旁邊")

def 放進去():
    print("把衣服放進洗衣機")

def 等待():
    print("等衣服洗好")

def 撈出來():
    print("把衣服撈出來")

拿衣服()
放進去()
等待()
撈出來()      

運作結果:

趁着課餘時間學點Python(十)面向對象的了解(前奏)前言正文結語

代碼:

class Robot(object):

    def __init__(self):
        print("把衣服拿到洗衣機旁邊")
        print("把衣服放進洗衣機")
        print("等衣服洗好")
        print("把衣服撈出來")

        
大黃 = Robot()
      
趁着課餘時間學點Python(十)面向對象的了解(前奏)前言正文結語

關于類的知識還有好多,今天隻是讓大家了解了解,以便于了解後面的知識。

興趣是最好的老師,堅持是不變的真理。

學習不要急躁,一步一個腳印,踏踏實實的往前走。

每天進步一點點,日積月累之下,你就會發現自己已經變得很厲害了。

我是布小禅,一枚自學萌新,跟着我每天進步一點點吧!

說了這麼多暫時也就夠了,那麼就告辭吧

趁着課餘時間學點Python(十)面向對象的了解(前奏)前言正文結語