Python object() 函式



Python 的 object() 函式是一個 內建函式,它返回一個新的物件。這個物件是 Python 中所有類的基類,它缺乏特性和屬性。請注意,無法向此物件新增任何新的屬性或方法。

當我們呼叫 object() 函式時,它會建立一個基物件類的例項,該例項預設情況下為空。在 Python 中,我們建立的每個類都隱式地繼承自此類,這意味著任何類的任何例項也是 object 類的例項。

語法

以下是 Python object() 函式的語法:

object()

引數

Python 的 object() 函式不接受任何引數。

返回值

Python 的 object() 函式返回一個新的無特性的物件。

object() 函式示例

練習以下示例以瞭解如何在 Python 中使用 object() 函式

示例:使用 object() 函式建立物件的例項

在下面的程式碼中,例項化了 object 類的例項。然後,我們使用 type() 函式檢查此物件的型別。

newObject = object()
checker = type(newObject)
print("The type of object of object class:", checker)

以上程式碼的輸出如下:

The type of object of object class: <class 'object'>

示例:object() 函式的使用

以下示例顯示了 Python object() 函式的基本用法,我們建立一個新的、無特性的物件例項,它沒有類方法或屬性。

newObject = object()
print(newObject)

執行上述程式時,會產生以下結果:

<object object at 0x780e80404510>

示例:檢查類是否是另一個類的子類

object() 函式可用於檢查特定類是否是另一個類的直接或間接子類。在下面的程式碼中,我們正在檢查類“newClass”是否是“object”的子類。由於 Python 中的所有類都繼承自 object 類,因此程式碼將返回 True。

class newClass:
   pass

checker = issubclass(newClass, object)
print("Is the newClass a subclass of object:", checker)

以上程式碼的輸出如下:

Is the newClass a subclass of object: True

示例:方法解析順序鏈中 object() 的順序

在 Python 類中,object() 函式位於方法解析順序鏈的末尾。為了演示這一點,我們使用“mro()”方法列出解析方法的順序。

class newClass:
   pass

class newChildClass(newClass):
   pass

print("The order of method resolution:")
print(newChildClass.mro())

以上程式碼的輸出如下:

The order of method resolution:
[<class '__main__.newChildClass'>, <class '__main__.newClass'>, <class 'object'>]
python_built_in_functions.htm
廣告