欢迎访问宙启技术站
智能推送

解密Python中内建对象(object())的秘密

发布时间:2023-12-26 22:21:05

Python中内建对象object()是所有对象的基类,它没有任何属性和方法。它用于创建新类的基类,可以说是所有类的父类。在实际使用中,object()常常被用作其他类的基类,基本上是在定义自己的类时将其作为父类的参数传递。

object()的主要作用是提供最基本的行为和特性,例如提供默认的__str__()和__repr__()方法,以及提供默认的__class__属性。

下面是一个使用object()作为基类的例子:

class MyClass(object):
    def __init__(self, num):
        self.num = num

    def __str__(self):
        return "MyClass object with num: {}".format(self.num)

    def __repr__(self):
        return "MyClass({})".format(self.num)

    def say_hello(self):
        print("Hello, world!")

# 创建对象
obj = MyClass(42)
print(obj)  # 输出:MyClass object with num: 42
print(repr(obj))  # 输出:MyClass(42)
obj.say_hello()  # 输出:Hello, world!

print(obj.__class__)  # 输出:<class '__main__.MyClass'>
print(obj.__class__.__base__)  # 输出:<class 'object'>

在上面的例子中,我们定义了一个名为MyClass的类,它继承自object()。在这个类中,我们使用了内建的__str__()和__repr__()方法来定义对象的打印和表达式表示。我们还定义了一个say_hello()方法用于打印"Hello, world!"。

通过使用object()作为基类,我们使得我们的自定义类拥有了一些默认的行为和特性,例如可以以字符串形式打印对象,以及可以查看对象的类和基类等。