第七色在线视频,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 的對(duì)象和類

在編程領(lǐng)域中,通常把現(xiàn)實(shí)世界中的實(shí)體稱為對(duì)象,例如:

  • 美國(guó)總統(tǒng)特朗普
  • 中國(guó)明星成龍
  • 上海中心大廈
  • 北京中信大廈

這里需要注意的是,對(duì)象指的是一個(gè)具體的實(shí)體,不用于指代一個(gè)抽象的群體。例如:特朗普是一個(gè)特定的具體的人,可以說 “特朗普是一個(gè)對(duì)象”。他是一個(gè)美國(guó)人,因?yàn)槊绹?guó)人是一個(gè)抽象的概念,指代的是一類人,因此不能說 “美國(guó)人是一個(gè)對(duì)象”。

類似的,上海中心大廈、北京中信大廈這些具體的大廈可以被稱為對(duì)象,但是不使用 “大廈是一個(gè)對(duì)象” 這樣的說法。

1. 對(duì)象的屬性和行為

現(xiàn)實(shí)世界中的實(shí)體有屬性和行為,下面的表格列舉了特朗普和成龍的屬性和行為:

對(duì)象 屬性 行為
特朗普 姓名、年齡 自我介紹
成龍 姓名、年齡 自我介紹

行為又被稱為方法,它是對(duì)屬性的操作,包括讀取操作和修改操作。例如,在特朗普的自我介紹行為中,會(huì)讀取他的屬性:姓名和年齡。

2. Python 中的對(duì)象

2.1 對(duì)象的例子

在 Python 中,對(duì)象的例子如下:

  • 字符串 ‘Hello’
  • 列表 [‘www’, ‘imooc’, ‘com’]
  • 元組 (‘www’, ‘imooc’, ‘com’)
  • 字典 {‘name’: ‘tom’, ‘a(chǎn)ge’: 123}

2.2 對(duì)象的屬性

對(duì)象的屬性示例如下:

>>> string = 'Hello'
>>> print(string.__doc__)
str(object='') -> str
str(bytes_or_buffer[, encoding[, errors]]) -> str
Create a new string object from the given object. 
>>> list = ['a', 'b', 'c']
>>> print(list.__doc__)
list() -> new empty list
list(iterable) -> new list initialized from iterable's items
  • 在第 1 行,創(chuàng)建字符串對(duì)象 ‘Hello’
  • 在第 2 行,打印字符串 ‘Hello’ 的屬性 __doc__,該屬性描述了字符串對(duì)象的用法
  • 在第 6 行,創(chuàng)建列表對(duì)象 list
  • 在第 7 行,打印列表 list 的屬性 __doc__,該屬性描述了列表對(duì)象的用法

2.3 對(duì)象的行為

對(duì)象的行為示例如下:

>>> string = 'Hello'
>>> string.upper()
'HELLO'
>>> list = ['a', 'b', 'c']
>>> list.append('d')
>>> list
['a', 'b', 'c', 'd']
  • 在第 1 行,創(chuàng)建字符串對(duì)象 ‘Hello’
  • 在第 2 行,調(diào)用對(duì)象的 upper 方法,獲取字符串的大寫
  • 在第 4 行,創(chuàng)建列表對(duì)象 list
  • 在第 5 行,調(diào)用對(duì)象的 append 方法,向列表追加一個(gè)元素

3. 什么是類

3.1 類的定義

在現(xiàn)實(shí)世界中,具體的實(shí)體被稱為對(duì)象,觀察這些對(duì)象的屬性和行為,發(fā)現(xiàn)可以使用相同的特征去描述一類對(duì)象。例如:

對(duì)象 屬性和行為
美國(guó)總統(tǒng)特朗普 姓名、年齡、工作
中國(guó)明星成龍 姓名、年齡、工作
上海中心大廈 高度、業(yè)主、維護(hù)
北京中信大廈 高度、業(yè)主、維護(hù)

可以使用 “姓名、年齡、工作” 等特征去描述特朗普和成龍這一類對(duì)象,使用 “高度、業(yè)主、維護(hù)” 等特征去描述上海中心大廈、北京中信大廈這一類對(duì)象。

在編程領(lǐng)域,類是對(duì)一組具有相同屬性和行為的對(duì)象的抽象。例如, “人” 是一個(gè)抽象的概念,它是一個(gè)類或者類別,描述了具有 “姓名、年齡、工作” 等特征的一組對(duì)象;“樓” 是一個(gè)抽象的概念,它是一個(gè)類或者類別,描述了具有 “高度、業(yè)主、維護(hù)” 等特征的一組對(duì)象。

3.2 類和對(duì)象的關(guān)系和區(qū)別

下面的列表總結(jié)了類和對(duì)象的關(guān)系和區(qū)別:

  • 對(duì)象是一個(gè)具體的實(shí)體,例如:特朗普是一個(gè)對(duì)象
  • 類是對(duì)多個(gè)具有相同屬性的實(shí)體的抽象,例如:特朗普和成龍等實(shí)體具有 “姓名、年齡、工作” 等屬性,通過歸納形成一個(gè)抽象概念——人,人是一個(gè)類
  • 對(duì)象與類的關(guān)系:對(duì)象屬于某個(gè)類、對(duì)象不屬于某個(gè)類,例如:特朗普是一個(gè)人,或者說特朗普屬于人類

4. Python 中的類

本節(jié)講解如何在 Python 中創(chuàng)建類,并利用類來創(chuàng)建對(duì)象。首先創(chuàng)建一個(gè)具有 name 和 age 兩個(gè)屬性的類——Person,然后利用 Person 這個(gè)類創(chuàng)建兩個(gè)對(duì)象—— tom 和 jerry,代碼如下:

實(shí)例演示
預(yù)覽 復(fù)制
復(fù)制成功!
class Person:
    def introduce(self):
        print('My name is %s, I am %d years old' % (self.name, self.age))        

tom = Person()
tom.name = 'tom'
tom.age = 10

jerry = Person()        
jerry.name = 'jerry'
jerry.age = 20

tom.introduce()
jerry.introduce()
運(yùn)行案例 點(diǎn)擊 "運(yùn)行案例" 可查看在線運(yùn)行效果
  • 在第 1 行,使用 class 關(guān)鍵字創(chuàng)建類 Person,類 Person 是對(duì)具有 name 和 age 屬性的對(duì)象的抽象
  • 在第 2 行,定義了 Person 的方法 introduce,introduce 方法描述了類 Person 的行為
  • 在第 3 行,類 Person 的 introduce 方法輸出 Person 的屬性 name 和 age
    • 參數(shù) self 指向當(dāng)前的對(duì)象
    • 注意,本節(jié)講解對(duì)象和類的區(qū)別,在詞條 “Python 類屬性和實(shí)例屬性” 詳細(xì)介紹 self 參數(shù)
  • 在第 5 行,根據(jù)類 Person 創(chuàng)建一個(gè)新的對(duì)象 tom
    • 在第 6 行,設(shè)置對(duì)象 tom 的 name 屬性為 ‘tom’
    • 在第 7 行,設(shè)置對(duì)象 tom 的 age 屬性為 10
  • 在第 9 行,根據(jù)類 Person 創(chuàng)建一個(gè)新的對(duì)象 jerry
    • 在第 10 行,設(shè)置對(duì)象 jerry 的 name 屬性為 ‘jerry’
    • 在第 11 行,設(shè)置對(duì)象 jerry 的 age 屬性為 20
  • 在第 13 行,調(diào)用對(duì)象 tom 的 introduce 方法
  • 在第 14 行,調(diào)用對(duì)象 jerry 的 introduce 方法

程序運(yùn)行,輸出結(jié)果如下:

My name is tom, I am 10 years old
My name is jerry, I am 20 years old

總結(jié),在上面的例子中,類和對(duì)象分別是:

  • Person 是一個(gè)類
  • tom 是一個(gè)對(duì)象
  • jerry 是一個(gè)對(duì)象

5. 小結(jié)

對(duì)象和類的概念比較抽象,同學(xué)們可以把生活中的一些場(chǎng)景做一下代入。對(duì)象和類的是進(jìn)行面向?qū)ο箝_發(fā)的基礎(chǔ),所以一定要好好掌握對(duì)象和類的概念,下個(gè)小節(jié)我們來學(xué)習(xí)下類屬性和實(shí)例屬性。