解密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()作为基类,我们使得我们的自定义类拥有了一些默认的行为和特性,例如可以以字符串形式打印对象,以及可以查看对象的类和基类等。
