Python 型別物件


在 Python 中,一切皆為物件,包括類。所有類都是名為“type”的類的例項。“type”物件也是 type 類的例項。您可以透過檢查類物件的 __bases__ 屬性來檢查類的繼承層次結構。type() 方法返回作為引數傳遞的引數(物件)的類型別。如果將單個引數 type(obj) 傳遞給 type 方法,它將返回給定物件的型別。如果傳遞三個引數 type(name, bases, dict),它將返回一個新的型別物件。

使用 type()

讓我們看看最常用的資料型別的類。在下面的程式中,我們初始化一些變數,然後使用 type() 來確定它們的類。

示例

 即時演示

# Some variables
a = 5
b = 5.2
c = 'hello'
A = [1,4,7]
B = {'k1':'Sun','K2':"Mon",'K3':'Tue'}
C = ('Sky','Blue','Vast')
print(type(a))
print(type(b))
print(type(c))

print(type(A))
print(type(B))
print(type(C))

輸出

執行以上程式碼將得到以下結果:

<class 'int'>
<class 'float'>
<class 'str'>
<class 'list'>
<class 'dict'>
<class 'tuple'>

類的型別

如果我們深入瞭解以上類的型別,我們會發現它們都屬於名為“type”的類。

示例

 即時演示

print(type(int))
print(type(dict))
print(type(list))

print(type(type))

輸出

執行以上程式碼將得到以下結果:

<class 'type'>
<class 'type'>
<class 'type'>
<class 'type'>

建立新的物件型別

我們也可以使用與上述類似的方法來建立新物件。在這裡,我們傳遞三個引數來建立新的型別物件。

示例

 即時演示

Object1 = type('A', (object,), dict(a='Hello', b=5))
print(type(Object1))
print(vars(Object1))
class NewCalss:
   a = 'Good day!'
   b = 7
Object2 = type('B', (NewCalss,), dict(a='Hello', b=5))
print(type(Object2))
print(vars(Object2))

輸出

執行以上程式碼將得到以下結果:

<class 'type'>
{'a': 'Hello', 'b': 5, '__module__': '__main__', '__dict__': <attribute '__dict__' of 'A' objects>, '__weakref__': <attribute '__weakref__' of 'A' objects>, '__doc__': None}
<class 'type'>
{'a': 'Hello', 'b': 5, '__module__': '__main__', '__doc__': None}

更新於: 2021年1月25日

8K+ 次瀏覽

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.