婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識(shí)庫 > Python3.8官網(wǎng)文檔之類的基礎(chǔ)語法閱讀

Python3.8官網(wǎng)文檔之類的基礎(chǔ)語法閱讀

熱門標(biāo)簽:怎么辦理400客服電話 高德地圖標(biāo)注收入咋樣 銀川電話機(jī)器人電話 B52系統(tǒng)電梯外呼顯示E7 沈陽防封電銷電話卡 萊蕪電信外呼系統(tǒng) 鶴壁手機(jī)自動(dòng)外呼系統(tǒng)違法嗎 地圖標(biāo)注多個(gè) 企業(yè)微信地圖標(biāo)注

官網(wǎng)類的基礎(chǔ)語法閱讀

英文官方文檔: https://docs.python.org/3.8/tutorial/classes.html

中文官方文檔: https://docs.python.org/zh-cn/3.8/tutorial/classes.html

類提供了一種組合數(shù)據(jù)和功能的方法。

創(chuàng)建一個(gè)新類意味著創(chuàng)建一個(gè)新的對象類型,從而允許創(chuàng)建一個(gè)該類型的新實(shí)例。

1、類定義

最簡單的類定義看起來像這樣:

class ClassName:
    statement-1>
    .
    .
    .
    statement-N>

類定義與函數(shù)定義 (def 語句) 一樣必須被執(zhí)行才會(huì)起作用。

當(dāng)進(jìn)入類定義時(shí),將創(chuàng)建一個(gè)新的命名空間,并將其用作局部作用域。因此,所有對局部變量的賦值都是在這個(gè)新命名空間之內(nèi)。 特別的,函數(shù)定義會(huì)綁定到這里的新函數(shù)名稱。

2、類對象

類對象支持兩種操作:屬性引用和實(shí)例化。

(1)屬性引用

屬性引用的標(biāo)準(zhǔn)語法: obj.name。

有效的屬性名稱是,類對象被創(chuàng)建時(shí),存在于類命名空間中的所有名稱。 因此,如果類定義是這樣的:

class MyClass:
    """A simple example class"""
    i = 12345

    def f(self):
        return 'hello world'

那么 MyClass.iMyClass.f 就是有效的屬性引用,將分別返回一個(gè)整數(shù)和一個(gè)函數(shù)對象。

類屬性也可以被賦值,因此可以通過賦值來更改 MyClass.i 的值。

__doc__也是一個(gè)有效的屬性,將返回所屬類的文檔字符串: "A simple example class"。

(2)實(shí)例化

類的實(shí)例化使用函數(shù)表示法。

可以把類對象視為是返回該類的一個(gè)新實(shí)例的不帶參數(shù)的函數(shù)。 舉例來說(假設(shè)使用上述的類):

x = MyClass()

創(chuàng)建類的新實(shí)例并將此對象分配給局部變量 x。

實(shí)例化操作(“調(diào)用”類對象)會(huì)創(chuàng)建一個(gè)空對象,也可以使用__init__() 創(chuàng)建帶有特定初始狀態(tài)的自定義實(shí)例。例如:

def __init__(self):
    self.data = []

此時(shí),類的實(shí)例化操作會(huì)自動(dòng)為新創(chuàng)建的類實(shí)例調(diào)用 __init__()。 因此在這個(gè)示例中,可以通過 x = MyClass() 語句獲得一個(gè)經(jīng)初始化的新實(shí)例:

__init__() 方法還可以有額外參數(shù)以實(shí)現(xiàn)更高靈活性。在這種情況下,提供給類實(shí)例化運(yùn)算符的參數(shù)將被傳遞給 __init__()。 例如,:

>>> class Complex:
...     def __init__(self, realpart, imagpart):
...         self.r = realpart
...         self.i = imagpart
...
>>> x = Complex(3.0, -4.5)
>>> x.r, x.i
(3.0, -4.5)

3、實(shí)例對象

實(shí)例對象唯一操作是屬性引用。 有兩種有效的屬性名稱:數(shù)據(jù)屬性和方法。

(1)數(shù)據(jù)屬性

數(shù)據(jù)屬性不需要聲明,像局部變量一樣,它們將在第一次被賦值時(shí)產(chǎn)生。

例如,如果 x 是上面創(chuàng)建的 MyClass 的實(shí)例,則以下代碼段將打印數(shù)值 16,且不保留任何追蹤信息:

x.counter = 1
while x.counter  10:
    x.counter = x.counter * 2
print(x.counter)
del x.counter

(2)方法

方法是“從屬于”對象的函數(shù)。 【注:方法是針對對象來說的,函數(shù)是針對類來說的】

(在 Python 中,方法這個(gè)術(shù)語并不是類實(shí)例所特有的:其他對象也可以有方法。例如,列表對象具有 append, insert, remove, sort 等方法。然而,在以下討論中,我們使用方法一詞將專指類實(shí)例對象的方法,除非另外顯式地說明。)

實(shí)例對象的有效方法名稱依賴于其所屬的類。 【注:這里說的是方法名稱】

根據(jù)定義,一個(gè)類中所有是函數(shù)對象的屬性都是定義了其實(shí)例的相應(yīng)方法。

因此在我們的示例中,x.f 是有效的方法引用,因?yàn)?MyClass.f 是一個(gè)函數(shù),而 x.i 不是方法,因?yàn)?MyClass.i 不是一個(gè)函數(shù)。 但是x.f 與 MyClass.f 并不是一回事,它是一個(gè)方法對象,不是函數(shù)對象。

4、方法對象

通常,方法在綁定后立即被調(diào)用,在 MyClass 示例中,這將返回字符串 'hello world'。

x.f()

但是,立即調(diào)用一個(gè)方法并不是必須的: x.f 是一個(gè)方法對象,它可以被保存起來以后再調(diào)用。 例如:

xf = x.f
while True:
    print(xf())

將繼續(xù)打印 hello world,直到結(jié)束。

雖然 f() 的函數(shù)定義指定了一個(gè)參數(shù),但在上面調(diào)用 x.f() 時(shí)并沒有帶參數(shù)。 當(dāng)不帶參數(shù)地調(diào)用一個(gè)需要參數(shù)的函數(shù)時(shí) Python 肯定會(huì)引發(fā)異常,即使參數(shù)實(shí)際未被使用。

方法的特殊之處就在于實(shí)例對象會(huì)作為函數(shù)的第一個(gè)參數(shù)被傳入。 在我們的示例中,調(diào)用 x.f() 其實(shí)就相當(dāng)于 MyClass.f(x)。 【注:也就是方法參數(shù)列表中的self】

總之,調(diào)用一個(gè)具有 n 個(gè)參數(shù)的方法就相當(dāng)于調(diào)用再多一個(gè)參數(shù)的對應(yīng)函數(shù),這個(gè)參數(shù)值為方法所屬實(shí)例對象,位置在其他參數(shù)之前。

當(dāng)一個(gè)實(shí)例的非數(shù)據(jù)屬性【注:即方法】被引用時(shí),將搜索實(shí)例所屬的類。

如果被引用的屬性名稱表示一個(gè)有效的類屬性中的函數(shù)對象,會(huì)通過打包(指向)查找到的實(shí)例對象和函數(shù)對象 到一個(gè)抽象對象的方式來創(chuàng)建方法對象:這個(gè)抽象對象就是方法對象。 【注:xf = x.f,x.f 是一個(gè)方法對象】

當(dāng)附帶參數(shù)列表調(diào)用方法對象時(shí),將基于實(shí)例對象和參數(shù)列表構(gòu)建一個(gè)新的參數(shù)列表【注:self和參數(shù)列表】,并使用這個(gè)新參數(shù)列表調(diào)用相應(yīng)的函數(shù)對象。

5、類和實(shí)例變量

一般來說,實(shí)例變量用于每個(gè)實(shí)例的唯一數(shù)據(jù),而類變量用于類的所有實(shí)例共享的屬性和方法:

【注:下例中kind是類變量,name是實(shí)例變量】

class Dog:

    kind = 'canine'         # class variable shared by all instances

    def __init__(self, name):
        self.name = name    # instance variable unique to each instance

>>> d = Dog('Fido')
>>> e = Dog('Buddy')
>>> d.kind                  # shared by all dogs
'canine'
>>> e.kind                  # shared by all dogs
'canine'
>>> d.name                  # unique to d
'Fido'
>>> e.name                  # unique to e
'Buddy'

正如 名稱和對象 中已討論過的,共享數(shù)據(jù)可能在涉及可變對象的時(shí)候,例如列表和字典,導(dǎo)致令人驚訝的結(jié)果。

例如以下代碼中的 tricks 列表不應(yīng)該被用作類變量,因?yàn)樗械?Dog 實(shí)例將只共享一個(gè)單獨(dú)的列表:

【注:類變量是所有實(shí)例所共享的,以下代碼中的 tricks 列表不應(yīng)該被用作類變量,實(shí)例調(diào)用 add_trick 時(shí),就改變了 tricks 列表】

class Dog:

    tricks = []             # mistaken use of a class variable

    def __init__(self, name):
        self.name = name

    def add_trick(self, trick):
        self.tricks.append(trick)

>>> d = Dog('Fido')
>>> e = Dog('Buddy')
>>> d.add_trick('roll over')
>>> e.add_trick('play dead')
>>> d.tricks                # unexpectedly shared by all dogs
['roll over', 'play dead']

正確的類設(shè)計(jì)應(yīng)該使用實(shí)例變量:

class Dog:

    def __init__(self, name):
        self.name = name
        self.tricks = []    # creates a new empty list for each dog

    def add_trick(self, trick):
        self.tricks.append(trick)

>>> d = Dog('Fido')
>>> e = Dog('Buddy')
>>> d.add_trick('roll over')
>>> e.add_trick('play dead')
>>> d.tricks
['roll over']
>>> e.tricks
['play dead']

6、補(bǔ)充說明

如果同樣的屬性名稱同時(shí)出現(xiàn)在實(shí)例和類中,則屬性查找會(huì)優(yōu)先選擇實(shí)例:

>>>
>>> class Warehouse:
        purpose = 'storage'
        region = 'west'

>>> w1 = Warehouse()
>>> print(w1.purpose, w1.region)
storage west
>>> w2 = Warehouse()
>>> w2.region = 'east'
>>> print(w2.purpose, w2.region)
storage east

方法的第一個(gè)參數(shù)常常被命名為 self。 這也不過就是一個(gè)約定: self 這一名稱在 Python 中絕對沒有特殊含義。但是要注意,不遵循此約定會(huì)使得你的代碼對其他 Python 程序員來說缺乏可讀性,而且也可以想像一個(gè) 類瀏覽器 程序的編寫可能會(huì)依賴于這樣的約定。

任何一個(gè)作為類屬性的函數(shù)都為該類的實(shí)例定義了一個(gè)相應(yīng)方法。 函數(shù)定義的文本并非必須包含于類定義之內(nèi):將一個(gè)函數(shù)對象賦值給一個(gè)局部變量也是可以的。 例如:

# Function defined outside the class
def f1(self, x, y):
    return min(x, x+y)

class C:
    f = f1

    def g(self):
        return 'hello world'

    h = g

現(xiàn)在 f, g 和 h 都是 C 類的引用函數(shù)對象的屬性,因而它們就都是 C 的實(shí)例的方法,其中 h 完全等同于 g。 但請注意,本示例的做法通常只會(huì)令程序的閱讀者感到迷惑。

方法可以通過使用 self 參數(shù)的方法屬性調(diào)用其他方法:

class Bag:
    def __init__(self):
        self.data = []

    def add(self, x):
        self.data.append(x)

    def addtwice(self, x):
        self.add(x)
        self.add(x)

方法可以通過與普通函數(shù)相同的方式引用全局名稱。與方法相關(guān)聯(lián)的全局作用域就是包含其定義的模塊。(類永遠(yuǎn)不會(huì)被作為全局作用域。)

雖然我們很少會(huì)有充分的理由在方法中使用全局作用域,但全局作用域存在許多合法的使用場景:舉個(gè)例子,導(dǎo)入到全局作用域的函數(shù)和模塊可以被方法所使用,在其中定義的函數(shù)和類也一樣。

通常,包含該方法的類本身是在全局作用域中定義的,而在下一節(jié)中我們將會(huì)發(fā)現(xiàn)為何方法需要引用其所屬類的很好的理由。

每個(gè)值都是一個(gè)對象,因此具有 類(也稱為 類型),并存儲(chǔ)為 object.__class__。

到此這篇關(guān)于Python3.8官網(wǎng)文檔之類的基礎(chǔ)語法閱讀的文章就介紹到這了,更多相關(guān)python3.8基礎(chǔ)語法內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • Python基礎(chǔ)語法之容器詳解
  • Python3基礎(chǔ)語法知識(shí)點(diǎn)總結(jié)
  • Python入門之基礎(chǔ)語法詳解
  • python入門之基礎(chǔ)語法學(xué)習(xí)筆記
  • Python3 基礎(chǔ)語法詳解

標(biāo)簽:三亞 烏魯木齊 銀川 湘西 安慶 葫蘆島 呼倫貝爾 呼倫貝爾

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Python3.8官網(wǎng)文檔之類的基礎(chǔ)語法閱讀》,本文關(guān)鍵詞  Python3.8,官網(wǎng),文檔,之類,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Python3.8官網(wǎng)文檔之類的基礎(chǔ)語法閱讀》相關(guān)的同類信息!
  • 本頁收集關(guān)于Python3.8官網(wǎng)文檔之類的基礎(chǔ)語法閱讀的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    91视频免费播放| 大陆成人av片| 亚洲国产精品精华液网站 | 国产宾馆实践打屁股91| 7777精品伊人久久久大香线蕉完整版 | 奇米一区二区三区av| 成人午夜av电影| 国产亚洲综合在线| 国产一区欧美一区| www国产成人免费观看视频 深夜成人网| 亚洲人成在线观看一区二区| av成人免费在线观看| 亚洲精品老司机| 日韩一级欧美一级| 99久久国产综合色|国产精品| 亚洲伦理在线免费看| 日韩一级片网址| 成人激情动漫在线观看| 亚洲精品国产无套在线观| 欧美日韩成人综合| 韩国视频一区二区| 国产精品免费免费| 欧美亚洲动漫精品| 极品少妇一区二区| 亚洲国产成人av好男人在线观看| 精品福利视频一区二区三区| 欧美亚洲国产一卡| 成人精品高清在线| 精品亚洲aⅴ乱码一区二区三区| 亚洲欧洲制服丝袜| 中文字幕精品三区| 日韩欧美中文字幕制服| 9久草视频在线视频精品| 久久av老司机精品网站导航| 亚洲一级二级三级| 一区二区三区四区精品在线视频 | 国产精品成人免费| 久久精品综合网| 欧美大黄免费观看| 久久夜色精品一区| 久久众筹精品私拍模特| 国产欧美视频一区二区| 国产欧美综合色| 久久精品视频一区二区三区| 在线成人高清不卡| 日韩欧美一区中文| 国产欧美综合色| 亚洲精品成人悠悠色影视| 午夜精品一区二区三区免费视频| 亚洲精品成人a在线观看| 亚洲黄色录像片| 五月天婷婷综合| 国产乱子伦视频一区二区三区| 久久精品99国产精品| 国产综合久久久久久鬼色| 久久精品国产色蜜蜜麻豆| 国内成+人亚洲+欧美+综合在线| 成人激情小说网站| 91精品国产色综合久久不卡蜜臀 | 欧美一区二区免费| 国产精品久久毛片a| 日韩中文字幕不卡| 色哟哟国产精品| 久久亚洲一级片| 毛片不卡一区二区| 在线观看日韩电影| 中文字幕一区二区在线观看 | 久久久久久久久久久99999| 亚洲中国最大av网站| 成人黄色国产精品网站大全在线免费观看| 91精品国产高清一区二区三区| 亚洲天堂成人在线观看| 北岛玲一区二区三区四区| 日韩午夜精品视频| 蜜桃久久精品一区二区| 色偷偷成人一区二区三区91| 中文字幕第一页久久| 国产91丝袜在线播放0| 精品国精品国产| 国产一区二区三区视频在线播放| 欧美一二三区在线| 另类综合日韩欧美亚洲| 欧美电影免费观看高清完整版在线| 性做久久久久久免费观看| 欧美撒尿777hd撒尿| 蜜臀91精品一区二区三区| 久久五月婷婷丁香社区| 97精品国产97久久久久久久久久久久 | 亚洲香蕉伊在人在线观| 日本精品一区二区三区四区的功能| 17c精品麻豆一区二区免费| 欧美一区二区三区视频在线| 亚洲无线码一区二区三区| 在线免费一区三区| 狠狠色综合日日| 亚洲一区二区视频| 欧美一级片免费看| 欧美亚洲国产一区在线观看网站 | 国内精品伊人久久久久av一坑| 日韩欧美国产系列| 在线亚洲+欧美+日本专区| 青娱乐精品视频在线| 亚洲精品国产视频| 久久精品视频网| 欧美丰满美乳xxx高潮www| 懂色av一区二区三区蜜臀| 亚洲成a人片在线观看中文| 国产亚洲精品超碰| 欧美大白屁股肥臀xxxxxx| 不卡的av网站| 成人av免费在线播放| 国产日韩欧美在线一区| 精品剧情在线观看| 精品久久国产字幕高潮| 在线亚洲一区二区| 在线观看日韩毛片| 亚洲成人中文在线| 日韩中文字幕区一区有砖一区 | 国产三级精品在线| 欧美日韩视频在线一区二区| 色94色欧美sute亚洲线路二| 国产成人精品综合在线观看| 国产福利一区二区三区视频在线| 91论坛在线播放| 成人免费毛片片v| 成人在线视频一区| 国产精品18久久久久久久久久久久 | 欧美综合一区二区三区| 国产一区高清在线| 国产电影一区二区三区| 国产福利一区在线| 成人一级视频在线观看| 97国产精品videossex| 色婷婷精品大在线视频| 91在线一区二区三区| 91影视在线播放| 777奇米四色成人影色区| 中文字幕一区二区三区精华液| 亚洲欧洲精品一区二区三区| 亚洲风情在线资源站| 亚洲成人一区二区| 国产乱人伦精品一区二区在线观看| 美腿丝袜一区二区三区| 97aⅴ精品视频一二三区| 极品尤物av久久免费看| 欧美人动与zoxxxx乱| 国产精品不卡在线观看| 亚洲国产成人av网| 成年人午夜久久久| 久久久久国产精品厨房| 亚洲尤物视频在线| 色婷婷久久综合| 日韩三级视频在线观看| 美女在线观看视频一区二区| 91久久精品午夜一区二区| 中文字幕欧美日韩一区| 日本美女一区二区三区视频| 国产成人精品免费网站| 国产精品亲子伦对白| 色丁香久综合在线久综合在线观看| 中文字幕中文乱码欧美一区二区| 国产麻豆成人传媒免费观看| 国产精品视频yy9299一区| 成人黄色免费短视频| 最新中文字幕一区二区三区| 国产久卡久卡久卡久卡视频精品| 欧美无砖专区一中文字| 丝瓜av网站精品一区二区 | 久久美女艺术照精彩视频福利播放| 久久不见久久见中文字幕免费| 国产亚洲一区二区三区四区| 99久久国产综合精品色伊| 日本伊人精品一区二区三区观看方式| 精品久久久久久亚洲综合网| 97se亚洲国产综合在线| 亚洲电影视频在线| 国产精品三级久久久久三级| 欧美日韩精品一区二区在线播放| 丁香激情综合国产| 一区二区三区自拍| 日本一区二区三区在线观看| 欧美色男人天堂| 成人美女视频在线观看18| 美国一区二区三区在线播放| 亚洲在线视频免费观看| 亚洲成人免费在线| 丝袜亚洲另类丝袜在线| 石原莉奈在线亚洲二区| 日韩vs国产vs欧美| 人人超碰91尤物精品国产| 亚洲国产美女搞黄色| 亚洲一区二区视频在线观看| 亚洲欧洲韩国日本视频| 国内外成人在线视频| 亚洲尤物在线视频观看| 久久久天堂av| 国产精品久久久久天堂| 亚洲黄色片在线观看| 亚洲国产一区二区视频| 日韩电影免费一区|