欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

python小課-類與對象筆記

系統 1845 0

類:

理解類最簡單的方式:類是一個函數包,類中可以放置變量和函數,然后類中的函數可以很方便的調用變量。

使用class來定義一個類

            
              # 語法:創建一個名為“ClassName”的類,類名一般首字母要大寫,(): 不能丟   
class ClassName():
# 如定義一個名為'狗'的類,可以寫成class Dog():
    # 規范:class語句后續的代碼塊要縮進  
    def function1():
    # 定義類中的函數1
            
          

在類中被定義的函數被稱為類的【方法】,描述的是這個類能做什么。我們使用 類名.函數名() 的格式,就可以讓類的方法運行起來

除了函數外,在類中還可以放置一堆變量,就像這樣:

            
              class 類A():
    變量1 = 100
    變量2 = -5.83
    變量3 = 'abc'
            
          

在類中被定義的變量被稱為類的【屬性】。使用 類名.變量名 的格式,可以把類中的屬性的值提取出來

不過類中的屬性(變量)也不是不能改變,使用 類名.變量名 的格式,可以讓我們在類的外面,增加或修改類的屬性

class 類A():
? ? 變量1 = 100
? ? 變量2 = -5.83
? ? 變量3 = 'abc'

類A.變量1 = 99
類A.變量4 = '新增一個變量'

print(類A.變量1)
print(類A.變量4)

看到這里,你可能會有有點疑惑,類方法也是函數,那和我們之前學的單獨定義函數有什么區別嗎?

它們兩者最大的區別,一個是它的調用格式: 類.函數名() 函數名() 多了一個【類.】,但更重要的是,“類”中的函數可以利用“類”中的變量(也就是類方法可以調用類屬性)。

python小課-類與對象筆記_第1張圖片

① 第一個格式 @classmethod 的中文意思就是“類方法”, @classmethod 聲明了 函數1 是類方法,這樣才能允許 函數1 使用類屬性中的數據。

?

② 第二個格式 cls 的意思是 class 的縮寫。如果類方法 函數1 想使用類屬性(也就是類中的變量),就要寫上 cls 函數1 的第一個參數,也就是把這個類作為參數傳給自己,這樣就能被允許使用類中的數據。

③ 第三個格式是 cls.變量 。類方法想使用類屬性的時候,需要在這些變量名稱前加上 cls.

?

這就好比 類方法 之間的約法三章,所以但凡有任何格式錯誤都會報錯。

?

python小課-類與對象筆記_第2張圖片

?

?

?

?

?

類與對象

類是對象的模板

類的實例化:

直接使用類:

python小課-類與對象筆記_第3張圖片

?

實例化后使用類:

python小課-類與對象筆記_第4張圖片

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

            # 直接使用類
class 成績單():
    @classmethod
    def 錄入成績單(cls):
        cls.學生姓名 = input('請輸入學生姓名:')
        cls.語文_成績 = int(input('請輸入語文成績:'))
        cls.數學_成績 = int(input('請輸入數學成績:'))

    @classmethod
    def 打印成績單(cls):
        print(cls.學生姓名 + '的成績單如下:')
        print('語文成績:'+ str(cls.語文_成績))
        print('數學成績:'+ str(cls.數學_成績))

成績單.錄入成績單()
成績單.打印成績單()

# 實例化之后
class 成績單():   # ①不用再寫@classmethod
    def 錄入成績單(self):  # ②cls變成self
        self.學生姓名 = input('請輸入學生姓名:')  # ③cls.變成self.
        self.語文_成績 = int(input('請輸入語文成績:'))
        self.數學_成績 = int(input('請輸入數學成績:'))

    def 打印成績單(self):
        print(self.學生姓名 + '的成績單如下:')
        print('語文成績:'+ str(self.語文_成績))
        print('數學成績:'+ str(self.數學_成績))


成績單1 = 成績單() # ④創建實例對象:成績單1

成績單1.錄入成績單() # ⑤實例化后使用
成績單1.打印成績單()
          

當我們完成實例化后,對應于一個實例的屬性和方法,叫“實例屬性、實例方法”,不再稱為“類屬性、類方法”:

?

類和實例的關系,就像母體和復制品的關系一樣。當一個類實例化為多個實例后,實例將原封不動的獲得類屬性,也就是 實例屬性 類屬性 完全相等。

我們可以修改類屬性,這會導致所有實例屬性變化(因為類是模板)

我們也可以修改實例屬性,但這不會影響到其他實例,也不會影響到類。因為 每個實例都是獨立的個體

新增也是一樣的道理,在類中新增屬性會影響到實例,但在實例中新增屬性只影響這個實例自己

?

和類屬性一樣,我們可以重寫類方法,這會導致所有實例方法自動被重寫

“重寫類方法”分成兩個步驟:第一個步驟是在類的外部寫一個函數,第二個步驟是把這個新函數的名字賦值給 類.原始函數

python小課-類與對象筆記_第5張圖片

?

要注意的是,這里的賦值是在替換方法,并不是調用函數,所以【不要加上括號】—— 寫成 類.原始函數() = 新函數() 是錯誤的。

?

我們可以通過重寫類方法,讓實例方法發生變化,但我們不能重寫實例方法,模板給的技能不是說換就能換的。

?

初始化函數:

初始化函數 的意思是,當你創建一個實例的時候,這個函數就會被調用。上面的代碼在執行 實例 = 類() 的語句時,就自動調用了 __init__(self) 函數。

?

初始化函數 的寫法是固定的格式:中間是“init”,這個單詞的中文意思是“初始化”,然后前后都要有【兩個下劃線】,然后 __init__() 的括號中,第一個參數一定要寫上 self ,不然會報錯。

?

            class 成績單():
    def __init__(self,學生姓名,語文_成績,數學_成績):
        self.學生姓名 = 學生姓名
        self.語文_成績 = 語文_成績
        self.數學_成績 = 數學_成績

    def 打印成績單(self):
        print(self.學生姓名 + '的成績單如下:')
        print('語文成績:'+ str(self.語文_成績))
        print('數學成績:'+ str(self.數學_成績))


成績單1 = 成績單('張三',99,88)
成績單2 = 成績單('李四',64,73)
成績單3 = 成績單('王五',33,22)

成績單1.打印成績單()
成績單2.打印成績單()
成績單3.打印成績單()
          

繼承

?

?


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 美女被免费网站在线视频九色 | 一级看片| 日本欧美一二三区色视频 | 精品久久久久久久 | 91免费无限观看 | 色欧美片视频在线观看 | 三级毛片免费看 | 久久国产欧美日韩精品 | 精品一卡2卡三卡4卡免费视频 | 久久夜色精品国产亚洲 | 一本一本大道香蕉久在线精品 | 狠狠色丁香婷婷久久综合考虑 | 日韩精品中文乱码在线观看 | 毛片在线免费观看完整版 | 久久久久久av | 精品啪啪| 日本精品中文字幕有码 | 久久婷婷是五月综合色狠狠 | 婷婷影音 | 91免费国产 | 久久中文网| 91人人看| 日韩欧美在线一区 | 亚洲色图第四页 | 久草热在线 | 日韩精品一区二区免费视频 | 99爱在线观看 | 九一国产精品 | 2021年无线乱码播放高清完整 | 免费视频在线看 | 天天干天天夜 | 五月六月婷婷 | 一级国产黄色片 | 一级毛片观看 | 99热.com| 国产福利不卡视频在免费播放 | 国产一区二区三区免费观看 | 在线国产一区 | 久久久999| 成年免费视频网站入口 | 欧美精品久久久久久久久老牛影院 |