在 Python 中獲取類的名稱

Vaibhhav Khetarpal 2023年1月30日 2021年4月29日
  1. 使用 type() 函式和 __name__ 獲取物件/例項的型別或類
  2. 使用 __class____name__ 屬性獲取物件/例項的型別或類
在 Python 中獲取類的名稱

就像物件建構函式一樣,類可以定義為用於建立物件的使用者定義原型。可以使用關鍵字 class 建立類。

類是一個資料結構,它可以同時包含資料成員和成員方法。

本教程將討論在 python 中獲取類名的方法。

使用 type() 函式和 __name__ 獲取物件/例項的型別或類

type() 是一個預定義的函式,可用於查詢物件的型別或類。

__name__ 是一個特殊的內建變數,它基本上給出使用它的當前模組的名稱。由於 python 沒有像其他語言(如 C/C++、Java 和其他類似語言)一樣具有 main() 函式,因此,如果是作為主程式執行的原始檔,則直譯器將設定 __main____name__。同時,當一個檔案從任何其他模組匯入時,__name__ 會被設定為該模組的名稱。

type() 函式和 __name__ 變數用於在以下程式碼中獲取物件的型別或類。

class num:
    def __init__(self, num):
        self.num = num
x = num(1)
print (type(x).__name__)

輸出:

num

在 Python 3 中,所有建立的類都是新樣式類,而在 Python 2 中,舊樣式類可能與新樣式類共存。新樣式類是從物件例項繼承的類,而舊樣式類或經典類是 python 2.1 之前存在的基本類。

上面的方法只能與新型類一起使用。

使用 __class____name__ 屬性獲取物件/例項的型別或類

__class__ 屬性還可用於查詢物件的類或型別。它基本上是指在其中建立物件的類。

__name__ 也可以與 __class__ 一起使用以獲取物件的類。

以下程式碼使用 __class____name__ 來獲取物件的類。

class num:
    def __init__(self, num):
        self.num = num
x = num(1)
print (x.__class__)
print (x.__class__.__name__)

輸出:

<class '__main__.num'>
num
Vaibhhav Khetarpal avatar Vaibhhav Khetarpal avatar

Vaibhhav is an IT professional who has a strong-hold in Python programming and various projects under his belt. He has an eagerness to discover new things and is a quick learner.

LinkedIn

相關文章 - Python Class