python-類(class)是什麼?怎麼用?


之前講過了面向對象,那麼在python中,面向對象就是用類(class)來實現的。


1、類是什麼?

簡單來說,類就是一個模板。比如我在創建一個word的時候,軟件會提醒我選擇一個模板,這裏有會議模板,有生活模板等等,不同的模板裏面包含不同的主題、人物、事情等等。

那麼這個類,就是這樣一個模板,我們可以自己去定義一個模板,在我們需要的時候來按照模板創建一個對象,進行調用。

類這個東西事實上我們很早已經接觸過了,看這裏。

#這裏隨便來定義幾個變量,來查看它的類型
a = 1
b = 'abc'
c = [0]
print(f'{a}的類型:{type(a)}')
print(f'{b}的類型:{type(b)}')
print(f'{c}的類型:{type(c)}')

結果很常見:

1的類型:<class ‘int’>
abc的類型:<class ‘str’>
[0]的類型:<class ‘list’>

可以看到在’int’前面有一個class,這個class就是我們要介紹的類。也就是說,int,str,list等等這些,都各自是一個類。另外,輸入type會出現class,說明class就是type類型的對象,這點我們稍後再說。

2、類的定義

定義一個函數時,語法是:

def func():
	pass

定義一個類時,語法比較相似,但又有所不同,舉個例子:

class MyClass([父類])#屬性(就是變量)
	#方法(就是函數)

類名後面的括號可有可無。

3、屬性和方法的調用

現在先來創建一個簡單的類Dog(類的創建要使用大駝峯命名):

class Dog:
    # 屬性
    name = '哈士奇'
    #方法
    def speak():
        print('汪汪汪')

然後我們就可以用這個類來創建一個對象,以及調用它的屬性和方法(對象是類的一個實例):

dog1 = Dog
print(dog1.name)
dog1.speak()

輸出結果:

哈士奇
汪汪汪

也就是說,在類中,我們可以定義變量和函數作爲屬性和方法,通過對象.屬性名/對象.方法名() 來調用

  • 變量會成爲該類實例的公共屬性,所有的該實例都可以通過 對象.屬性名的形式訪問
  • 函數會成爲該類實例的公共方法,所有該類實例都可以通過 對象.方法名的形式訪問
  • 當調用一個對象的屬性或者方法時,解析器首先在本對象中尋找,如果有則返回這個對象中的值,如果沒有則去類中尋找,再沒有就報錯

4、isinstance()

用來檢查某個對象是不是某個類的實例。

語法爲:

isinstance(對象名,類名)

是則返回True,不是則返回False。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章