第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

全部開發(fā)者教程

Python 進(jìn)階應(yīng)用教程

Python 進(jìn)階應(yīng)用教程
01 Python 的對(duì)象和類 02 Python 類屬性和實(shí)例屬性 03 Python類的構(gòu)造方法、析構(gòu)方法、實(shí)例方法 04 Python 類的私有屬性和私有方法 05 Python 類的繼承和多繼承 06 Python 類實(shí)戰(zhàn) 07 Python 中的迭代器實(shí)現(xiàn)原理 08 Python 中的迭代器趣味實(shí)踐 09 Python 中的生成器實(shí)現(xiàn)原理 10 Python 中的生成器趣味實(shí)踐 11 Python 中的錯(cuò)誤和異常 12 Python 中的異常處理 13 Python 中的模塊 14 Python 標(biāo)準(zhǔn)庫(kù)之 os 模塊 15 Python 標(biāo)準(zhǔn)庫(kù)之 sys 模塊 16 Python 標(biāo)準(zhǔn)庫(kù)之 math 模塊 17 Python 標(biāo)準(zhǔn)庫(kù)之 random 模塊 18 Python 標(biāo)準(zhǔn)庫(kù)之 Json 模塊 19 Python 標(biāo)準(zhǔn)庫(kù) datetime 模塊 20 Python 中的常用第三方模塊 21 Python 中的命名空間 22 Python 中的作用域 23 Python 中的文件 IO 操作 24 Python 基礎(chǔ)實(shí)戰(zhàn) 25 Python 內(nèi)置函數(shù) 26 Python 中使用正則表達(dá)式 27 使用 Python 操作 MySQL 數(shù)據(jù)庫(kù) 28 使用 Python 操作 Mongo 數(shù)據(jù)庫(kù) 29 使用 Python 操作 Redis 數(shù)據(jù)庫(kù) 30 使用 Python 發(fā)送一封郵件 31 threading 之 Thread 的使用 32 threading 之 Lock 的基本使用 33 Python 生產(chǎn)者消費(fèi)者模型 34 Python 的內(nèi)存管理與垃圾回收 35 Python 領(lǐng)域運(yùn)用:網(wǎng)絡(luò)爬蟲 36 Python 領(lǐng)域運(yùn)用:Web 開發(fā) 37 Python 領(lǐng)域運(yùn)用:自動(dòng)化運(yùn)維 38 Python 領(lǐng)域運(yùn)用:自動(dòng)化測(cè)試

Python 類屬性和實(shí)例屬性

下表列出了 4 個(gè)常見的明星人物:

姓名 年齡
周潤(rùn)發(fā) 58
成龍 55
劉德華 53
周星馳 54

進(jìn)行歸納總結(jié):

  • 這些人物具有較高的知名度,把這些人物歸類為明星;
  • 每個(gè)明星兩個(gè)屬性:姓名和年齡。明星這個(gè)群體具有一個(gè)屬性:數(shù)量,在這張表格中,明星的數(shù)量是 4;
  • 姓名和年齡等屬性是用于描述具體的一個(gè)對(duì)象(例如:周潤(rùn)發(fā)),而人物的數(shù)量是用于描述明星這個(gè)類別。

如果使用面向?qū)ο蠹夹g(shù)對(duì)以上實(shí)體進(jìn)行描述,周潤(rùn)發(fā)、成龍、劉德華、周星馳等人物是對(duì)象,描述這些知名人物的抽象是類,需要區(qū)分位于不同層次的屬性:

  • 隸屬于具體對(duì)象的屬性,例如:姓名、年齡
  • 隸屬于類的屬性,例如:人物數(shù)量

本節(jié)講解在 Python 中這兩個(gè)層次上的屬性的概念和使用。

1. 實(shí)例屬性

實(shí)例屬性是隸屬于具體對(duì)象的屬性,用于描述具體的對(duì)象。示例代碼如下:

class Person:
    pass

zhou = Person()    
zhou.name = 'Zhou'
zhou.age = 58
print('name = %s, age = %d' % (zhou.name, zhou.age))

liu = Person()
liu.name = 'Liu'
liu.age = 53
print('name = %s, age = %d' % (liu.name, liu.age))
  • 在第 1 行,定義了類 Person
  • 在第 4 行,使用類 Person 創(chuàng)建一個(gè)對(duì)象 zhou
    • 在第 5 行,設(shè)置對(duì)象 zhou 的屬性 name,該屬性為實(shí)例屬性
    • 在第 6 行,設(shè)置對(duì)象 zhou 的屬性 age,該屬性為實(shí)例屬性
    • 在第 7 行,打印對(duì)象 zhou 的屬性 name 和 age
  • 在第 9 行,使用類 Person 創(chuàng)建一個(gè)對(duì)象 liu
    • 在第 10 行,設(shè)置對(duì)象 liu 的屬性 name,該屬性為實(shí)例屬性
    • 在第 11 行,設(shè)置對(duì)象 liu 的屬性 age,該屬性為實(shí)例屬性
    • 在第 12 行,打印對(duì)象 liu 的屬性 name 和 age

程序運(yùn)行輸出如下:

name = Zhou, age = 58
name = Liu, age = 53

2. self 參數(shù)

在前面的例子中,存在兩個(gè)對(duì)象 zhou 和 liu,通過 zhou.nameliu.name 這樣的形式訪問實(shí)例屬性。上面的例子存在一個(gè)顯著的問題:

  • 在第 7 行,使用 print(‘name = %s, age = %d’ % (zhou.name, zhou.age)) 打印對(duì)象 zhou
  • 在第 12 行,使用 print(‘name = %s, age = %d’ % (liu.name, liu.age)) 打印對(duì)象 liu

以上這兩行代碼是雷同的,功能是重復(fù)的。Python 允許在類中定義方法,訪問對(duì)象的屬性,語(yǔ)法如下:

class 類名:
    def 方法(self):
        self.屬性

在類中定義的方法,第一個(gè)參數(shù) self 指向調(diào)用該方法的對(duì)象,在方法中通過 “self.屬性” 這樣的形式訪問對(duì)象的實(shí)例屬性。示例代碼如下:

class Person:
    def introduce(self):
        print('name = %s, age = %d' % (self.name, self.age))

zhou = Person()    
zhou.name = 'Zhou'
zhou.age = 58
zhou.introduce()

liu = Person()
liu.name = 'Liu'
liu.age = 53
liu.introduce()
  • 在第 1 行,定義了類 Person
    • 在第 2 行,定義了類 Person 的方法 introduce,introduce 的 self 參數(shù)指向調(diào)用 introduce 方法的對(duì)象
    • 在第 3 行,introduce 方法通過 self.name 和 self.age 訪問對(duì)象的屬性
  • 在第 5 行,使用類 Person 創(chuàng)建一個(gè)對(duì)象 zhou
    • 在第 6 行,設(shè)置對(duì)象 zhou 的屬性 name,該屬性為實(shí)例屬性
    • 在第 7 行,設(shè)置對(duì)象 zhou 的屬性 age,該屬性為實(shí)例屬性
    • 在第 8 行,調(diào)用對(duì)象 zhou 的方法 introduce,對(duì)象 zhou 被傳遞給方法 introduce,作為 self 參數(shù),在執(zhí)行 introduce 時(shí),self 參數(shù)指向?qū)ο?zhou
  • 在第 10 行,使用類 Person 創(chuàng)建一個(gè)對(duì)象 liu
    • 在第 11 行,設(shè)置對(duì)象 liu 的屬性 name,該屬性為實(shí)例屬性
    • 在第 12 行,設(shè)置對(duì)象 liu 的屬性 age,該屬性為實(shí)例屬性
    • 在第 13 行,調(diào)用對(duì)象 liu 的方法 introduce,對(duì)象 liu 被傳遞給方法 introduce,作為 self 參數(shù),在執(zhí)行 introduce 時(shí),self 參數(shù)指向?qū)ο?liu

3. 類屬性

類屬性是隸屬于類的屬性,用于描述類的特征。

在 Python 中,類屬性在類中的定義如下所示:

class 類名:
    類屬性 =

示例代碼如下:

class Person:
    count = 0

zhou = Person()    
zhou.name = 'Zhou'
zhou.age = 58
Person.count = Person.count + 1
print('Person.count = %d' % Person.count)

liu = Person()
liu.name = 'Liu'
liu.age = 53
Person.count = Person.count + 1
print('Person.count = %d' % Person.count)
  • 在第 1 行,定義了類 Person

  • 在第 2 行,定義了類 Person 的屬性 count,該屬性是類屬性,描述了 Person 對(duì)象的數(shù)量

  • 在第 4 行,使用類 Person 創(chuàng)建一個(gè)對(duì)象 zhou

    • 在第 5 行,設(shè)置對(duì)象 zhou 的屬性 name,該屬性為實(shí)例屬性
    • 在第 6 行,設(shè)置對(duì)象 zhou 的屬性 age,該屬性為實(shí)例屬性
  • 因?yàn)樾聞?chuàng)建了一個(gè)對(duì)象 zhou

    • 在第 7 行,訪問 Person 的類屬性 count,對(duì)其增加 1
    • 在第 8 行,打印 Person 的類屬性 count
  • 在第 10 行,使用類 Person 創(chuàng)建一個(gè)對(duì)象 liu

    • 在第 11 行,設(shè)置對(duì)象 liu 的屬性 name,該屬性為實(shí)例屬性
    • 在第 12 行,設(shè)置對(duì)象 liu 的屬性 age,該屬性為實(shí)例屬性
  • 因?yàn)樾聞?chuàng)建了一個(gè)對(duì)象 liu

    • 在第 13 行,訪問 Person 的類屬性 count,對(duì)其增加 1
    • 在第 14 行,打印 Person 的類屬性 count

程序運(yùn)行輸出如下:

Person.count = 1
Person.count = 2