程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

Python class:定義類

編輯:Python

1、創建(定義)類,也就是制作圖紙的過程;

2、創建類的實例對象(根據圖紙造出實際的物品),通過實例對象實現特定的功能。

Python類的定義

Python 中定義一個類使用 class 關鍵字實現,其基本語法格式如下:

class 類名:
    多個(≥0)類屬性...
    多個(≥0)類方法...

注意,無論是類屬性還是類方法,對於類來說,它們都不是必需的,可以有也可以沒有。另外,Python 類中屬性和方法所在的位置是任意的,即它們之間並沒有固定的前後次序。
和變量名一樣,類名本質上就是一個標識符,因此我們在給類起名字時,必須讓其符合 Python 的語法。有讀者可能會問,用 a、b、c 作為類的類名可以嗎?從 Python 語法上講,是完全沒有問題的,但作為一名合格的程序員,我們必須還要考慮程序的可讀性。
因此,在給類起名字時,最好使用能代表該類功能的單詞,例如用“Student”作為學生類的類名;甚至如果必要,可以使用多個單詞組合而成,例如初學者定義的第一個類的類名可以是“TheFirstDemo”。

        注意,如果由單詞構成類名,建議每個單詞的首字母大寫,其它字母小寫。

給類起好名字之後,其後要跟有冒號(:),表示告訴 Python 解釋器,下面要開始設計類的內部功能了,也就是編寫類屬性和類方法。

其實,類屬性指的就是包含在類中的變量;而類方法指的是包含類中的函數。換句話說,類屬性和類方法其實分別是包含類中的變量和函數的別稱。需要注意的一點是,同屬一個類的所有類屬性和類方法,要保持統一的縮進格式,通常統一縮進 4 個空格。

通過上面的分析,可以得出這樣一個結論,即 Python 類是由類頭(class 類名)和類體(統一縮進的變量和函數)構成。例如,下面程序定義一個 TheFirstDemo 類:

class TheFirstDemo:

        '''這是一個學習Python定義的第一個類'''

        #下面定義了一個say()方法

        def say(self, content):

                print(content)

        

        通過上面的分析,可以得出這樣一個結論,即 Python 類是由類頭(class 類名)和類體(統一縮進的變量和函數)構成。 和函數一樣,我們也可以為類定義說明文檔,其要放到類頭之後,類體之前的位置,如上面程序中第二行的字符串,就是 TheFirstDemo 這個類的說明文檔。另外分析上面的代碼可以看到,我們創建了一個名為 TheFirstDemo 的類,其包含了一個名為 add 的類屬性。注意,根據定義屬性位置的不同,在各個類方法之外定義的變量稱為類屬性或類變量(如 add 屬性),而在類方法中定義的屬性稱為實例屬性(或實例變量)同時,TheFirstDemo 類中還包含一個 say() 類方法,細心的讀者可能已經看到,該方法包含兩個參數,分別是 self 和 content。可以肯定的是,content 參數就只是一個普通參數,沒有特殊含義,但 self 比較特殊,並不是普通的參數,它的作用會在後續章節中詳細介紹。更確切地說,say() 是一個實例方法,除此之外,Python 類中還可以定義類方法和靜態方法,事實上,我們完全可以創建一個沒有任何類屬性和類方法的類,換句話說,Python 允許創建空類,例如:

class Empty:

        pass

可以看到,如果一個類沒有任何類屬性和類方法,那麼可以直接用 pass 關鍵字作為類體即可。但在實際應用中,很少會創建空類,因為空類沒有任何實際意義。

字典類型定義

1、字典是鍵值對的集合,鍵值對之間沒有順序且不能重復

2、采用大括號{}和dict()創建,建立模式如下:

{<鍵1>:<值1>, <鍵2>:<值2>, … , <鍵n>:<值n>},其中鍵和值通過冒號連接,不同鍵值對通過逗號隔開。

3、字典是包含0個或多個鍵值對的集合,沒有長度限制,可以根據鍵索引值的內容。

字典類型的函數和方法

函數或方法描述

del d[k]刪除字典d中鍵k對應的數據值

k in d判斷鍵k是否在字典d中,如果在返回True,否則False

d.keys()返回字典d中所有的鍵信息

d.values()返回字典d中所有的值信息

d.items()返回字典d中所有的鍵值對信息

d.get(k,default鍵k存在,則返回相應值,不在則返回default

d.pop(k,default鍵k存在,則取出相應值,不在則返回default

d.popitem()隨機從字典d中取出一個鍵值對,以元組形式返回

d.clear()刪除所有的鍵值對

len(d)返回字典d中元素的個數


  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved