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

資訊專欄INFORMATION COLUMN

Python中面向?qū)ο?怎么創(chuàng)建一個類

only_do / 2778人閱讀

摘要:文字有點(diǎn)長,對于不想看文字的朋友,可以去這里看視頻,視頻可能更好理解本節(jié)課,我們來學(xué)習(xí),如何創(chuàng)建一個類,也就是怎么用畫設(shè)計方案先來看一下前面課程里出現(xiàn)過的幾張設(shè)計方案前面女媧造人的故事里,女媧創(chuàng)造了張設(shè)計方案我們接下來根據(jù)那個故事的節(jié)奏,也

文字有點(diǎn)長,對于不想看文字的朋友,可以去這里看視頻,視頻可能更好理解

https://www.piqizhu.com/v/1GK...

本節(jié)課,我們來學(xué)習(xí),如何創(chuàng)建一個類, 也就是怎么用python畫設(shè)計方案

先來看一下 前面課程里出現(xiàn)過的 幾張設(shè)計方案

前面女媧造人的故事里,女媧創(chuàng)造了6張設(shè)計方案

我們接下來根據(jù)那個故事的節(jié)奏,也來創(chuàng)造6張設(shè)計方案

創(chuàng)建類 創(chuàng)建 物種設(shè)計圖 的類

先來看第一張設(shè)計方案, 物種設(shè)計方案

這張設(shè)計圖,里的東西,有四肢,還有個頭、身體

那么我們設(shè)計的類如下:

class 物種設(shè)計方案:
    頭 = 1
    前肢 = 2
    后肢 = 2
    身體 = 1

要創(chuàng)建一個類, 和創(chuàng)建一個函數(shù)差不多,

先寫一個class,然后一個空格, 接著寫類的名字,

類的名字和變量名的命名規(guī)則一樣,通常類名建議駝峰命名法

也就是要像個駱駝

比如,
你的類名是 man 那么應(yīng)該寫成 Man

如果你的類名是 goodman 那么你應(yīng)該寫成 GoodMan

每個單詞的首字母用大寫,如果只有一個字母,首字母要大寫, 如果有多個單詞,每個單詞首字母都要大寫

這只是行業(yè)里的一個約定,并沒有強(qiáng)制規(guī)定,你不遵守也可以

我這里的例子,為了方便大家理解,會使用中文漢字

class 后面的 物種設(shè)計方案 就是我的類名, 類名后面一個冒號

接著換行,一個縮進(jìn),我這里給這個類,增加了4個屬性,就像 聲明變量一樣

同樣為了便于大家理解,這里的變量名我也用了中文漢字

這里的 物種設(shè)計方案 就是我們創(chuàng)建的類的名字,簡稱類名

在類中的這幾個變量,就是這個類的屬性, 就和我們平時的變量是一樣的,但這里的這幾個變量,歸屬于這個類, 就好比,我們大家都?xì)w屬于中國

如此,我們就完成了, 物種設(shè)計方案的制作

創(chuàng)建 動物設(shè)計方案 的類

接下來,在這個基礎(chǔ)上,制作一個動物設(shè)計方案

class 動物設(shè)計方案(物種設(shè)計方案):
    def 吃東西(self):
        pass
    def 跑(self):
        pass
    def 叫(self):
        pass

你可以發(fā)現(xiàn),這個類,和上個類十分相似,但也有一些區(qū)別,

比如,類名后面多了個括號,括號里多了物種設(shè)計方案幾個字,

而且這個類里面,居然寫了3個函數(shù),這分別都是什么含義呢?

類名后面的括號,寫了誰,就表示這個類要繼承誰, 我們這里的 動物設(shè)計方案, 繼承了 物種設(shè)計方案,

所以, 物種設(shè)計方案,被寫在了, 動物設(shè)計方案后面的括號里, 這個括號,就是用來表示聲明繼承關(guān)系的

這里我們可以看出 動物設(shè)計方案的 父類 就是 物種設(shè)計方案

而 物種設(shè)計方案,在類名后面,直接就是問號,沒有括號,他沒有繼承別人嗎?

其實是有的, 在Python內(nèi)部, 某個類沒有聲明繼承的話,Python會自動繼承object類, 關(guān)于object類是什么, 我們以后會講, 暫時你只要記住

在Python里,所有類都是object類的后代

那么類里面外面寫的這3個函數(shù)是啥意思呢? 這3個函數(shù)就是類的方法, 通常我們叫做類方法,

而且你應(yīng)該也看到了, 類方法的第一個參數(shù)都是self,這個參數(shù)是必須要傳的,不能少, 但這個參數(shù)名字你可以改成別的, 比如 你可以改成, a, 或者別的

不過,為了便于大家理解, 行業(yè)里,大家統(tǒng)一都寫的是self,所以,建議你也遵守這個規(guī)定

這幾個類函數(shù),我們是留空的,寫了個pass語句,沒有填充內(nèi)容,因為目前我們還不知道寫什么好

創(chuàng)建 人類設(shè)計方案 的類

現(xiàn)在,讓我們基于 人類設(shè)計方案,創(chuàng)造一個類吧

class 人類設(shè)計方案(動物設(shè)計方案):
    type_name = "人"
    def 吃東西(self):
        print(self.type_name, ":開始用嘴巴吃東西")
    def 跑(self):
        print(self.type_name, ":用", self.后肢 ,"條 后肢跑")
    def 叫(self):
        print(self.type_name, ":啊啊啊")

我們給這個類,添加了一個屬性,type name, 值為 人

并且,我們把從父類那里繼承來的3個方法, 進(jìn)行了重載,也就是把從父類那繼承來的類方法里面的代碼,進(jìn)行了修改,寫入了新的代碼,這幾個類方法,父類中就寫了個pass,我們這里改成了print語句,這里面你可以寫任何代碼,就和函數(shù)沒什么兩樣

接著我們創(chuàng)建 狗類、貓類、鴨類

class 狗類設(shè)計方案(動物設(shè)計方案):
    type_name = "狗"
    def 吃東西(self):
        print(self.type_name, ":開始用嘴巴吃東西")
    def 跑(self):
        print(self.type_name, ":用", self.前肢+ self.后肢 ,"條腿 跑")
    def 叫(self):
        print(self.type_name, ":汪汪汪")

class 貓類設(shè)計方案(動物設(shè)計方案):
    type_name = "貓"
    def 吃東西(self):
        print("開始用嘴巴吃東西")
    def 跑(self):
        print(self.type_name, ":用", self.前肢+ self.后肢 ,"條腿 跑")
    def 叫(self):
        print("喵喵喵")

class 鴨類設(shè)計方案(動物設(shè)計方案):
    type_name = "鴨"
    def 吃東西(self):
        print("開始用嘴巴吃東西")
    def 跑(self):
        print(self.type_name, ":用",  self.后肢 ,"條 后肢 跑")
    def 叫(self):
        print("嘎嘎嘎")

你可以看到,我們給這幾個類的類方法都填充了代碼,

你應(yīng)該已經(jīng)發(fā)現(xiàn)了, 每個類,都有一個 type_name 屬性

而且,在類方法中,都用到了type_name 這個屬性,并且,前面還多出了一個 self.

self. 這是什么意思呢? 這里的self 就代表 這個類自己

比如,人類設(shè)計方案, 這個類中的self,就代表這個 [人類設(shè)計方案] ,我們這里 打印 self.type_name

就表示 要打印, 人類設(shè)計方案 中的type_name,

同樣的道理, 在狗類設(shè)計方案中,打印 self.type_name ,就表示要訪問 狗類設(shè)計方案 的 type_name屬性

self 就代表當(dāng)時那種情景下的自己

如果你還不理解不要緊,接下來的課程里,我們會詳細(xì)的講解

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

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

相關(guān)文章

  • Python理解面向對象

    摘要:面向?qū)ο缶幊?,簡稱,是一種程序設(shè)計思想。面向過程與面向?qū)ο竺嫦蜻^程的程序設(shè)計把函數(shù)作為程序的基本單元。以上是在計算機(jī)世界里認(rèn)識面向?qū)ο蠛兔嫦蜻^程,接下來給大家舉個生活中的例子就拿你早上想吃雞蛋灌餅為例。 面向?qū)ο缶幊獭狾bject Oriented Programming,簡稱OOP,是一種程序設(shè)計思想。OOP把對象作為程序的基本單元,一個對象包含了數(shù)據(jù)和操作數(shù)據(jù)的函數(shù)。 面向過程 ...

    hatlonely 評論0 收藏0
  • Python實例一個背后發(fā)生了什么

    摘要:好吧,事實上,類本身也是實例,當(dāng)然,它們是元類的實例。中的一切都是對象,它們要么是類的實例,要么是元類的實例,除了。 寫在最前面 一些很重要的知識,我的寫得有點(diǎn)亂,也可以去看這些文章 Python 面向?qū)ο螅ǔ跫壠?Python 面向?qū)ο螅ㄟM(jìn)階篇) 深刻理解Python中的元類(metaclass) 首先來看一個例子,正常情況下我們定義并且實例一個類如下 class Foo(ob...

    shusen 評論0 收藏0
  • 4-面向對象編程

    摘要:聲明對象構(gòu)造函數(shù),創(chuàng)建實例需要用到訪問限制封裝性是面向?qū)ο蟮囊淮筇攸c(diǎn),如果要內(nèi)部屬性不被外部調(diào)用,需要加上兩個下劃線這樣就沒辦法直接通過實例來訪問這個變量了因為這個時候,變量已經(jīng)被隱式的變成了繼承繼承的一般寫法為所有的類都繼承于這個類。 包 python中包的引用是一個坑,經(jīng)常出現(xiàn)這個文件夾的代碼,引用不到另一個文件夾的代碼,這個時候就必須要去更改環(huán)境變量,無論如何,總感覺不是一種優(yōu)雅...

    LancerComet 評論0 收藏0
  • 淺談JavaScript的面向對象和它的封裝、繼承、多態(tài)

    摘要:會造成內(nèi)存浪費(fèi)的問題構(gòu)造函數(shù)繼承聲明父類聲明子類生成實例組合式繼承組合式繼承是汲取了兩者的優(yōu)點(diǎn),既避免了內(nèi)存浪費(fèi),又使得每個實例化的子類互不影響。 寫在前面 既然是淺談,就不會從原理上深度分析,只是幫助我們更好地理解... 面向?qū)ο笈c面向過程 面向?qū)ο蠛兔嫦蜻^程是兩種不同的編程思想,剛開始接觸編程的時候,我們大都是從面向過程起步的,畢竟像我一樣,大家接觸的第一門計算機(jī)語言大概率都是C語...

    MAX_zuo 評論0 收藏0
  • 如何系統(tǒng)地自學(xué) Python?

    摘要:這里推薦一本書源碼剖析源碼剖析豆瓣這本書把源碼中最核心的部分,給出了詳細(xì)的闡釋,不過閱讀此書需要對語言內(nèi)存模型和指針有著很好的理解。   是否非常想學(xué)好 Python,一方面被瑣事糾纏,一直沒能動手,另一方面,擔(dān)心學(xué)習(xí)成本太高,心里默默敲著退堂鼓?   幸運(yùn)的是,Python 是一門初學(xué)者友好的編程語言,想要完全掌握它,你不必花上太多的時間和精力。   Python 的設(shè)計哲學(xué)之一就是...

    zgbgx 評論0 收藏0

發(fā)表評論

0條評論

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