python中的object类怎么用

45次阅读
没有评论

共计 1246 个字符,预计需要花费 4 分钟才能阅读完成。

在 Python 中,object类是所有类的基类,每个类都会隐式地继承自 object 类。object类提供了一些内置的方法和属性,可以用于自定义类的行为。以下是一些 object 类的常用方法和用法:

  1. __init__():这是一个特殊方法,用于初始化对象的属性。在自定义类时,可以在类中定义 __init__() 方法来初始化对象的属性。
class MyClass(object):
    def __init__(self, name):
        self.name = name

obj = MyClass("John")
print(obj.name)  # 输出: John
  1. __str__():这是一个特殊方法,用于返回对象的字符串表示形式。在自定义类时,可以重写 __str__() 方法来自定义对象的打印形式。
class MyClass(object):
    def __init__(self, name):
        self.name = name

    def __str__(self):
        return f"MyClass object with name: {self.name}"

obj = MyClass("John")
print(obj)  # 输出: MyClass object with name: John
  1. __eq__()__ne__():这些是特殊方法,用于比较对象的相等性和不等性。可以重写这些方法来自定义对象之间的比较操作。
class Point(object):
    def __init__(self, x, y):
        self.x = x
        self.y = y

    def __eq__(self, other):
        return self.x == other.x and self.y == other.y

    def __ne__(self, other):
        return not self.__eq__(other)

p1 = Point(1, 2)
p2 = Point(1, 2)
p3 = Point(3, 4)

print(p1 == p2)  # 输出: True
print(p1 != p3)  # 输出: True
  1. __getattr__()__setattr__():这些是特殊方法,用于获取和设置对象的属性。可以在自定义类中重写这些方法来控制对象的属性访问和赋值操作。
class MyClass(object):
    def __getattr__(self, name):
        return f"Attribute {name} does not exist."

    def __setattr__(self, name, value):
        print(f"Setting {name} to {value}.")
        self.__dict__[name] = value

obj = MyClass()
print(obj.name)  # 输出: Attribute name does not exist.
obj.age = 20  # 输出: Setting age to 20.

这些只是 object 类的一小部分功能和用法。通过继承 object 类,可以在自定义类中使用这些方法和属性,以及其他许多用于自定义类行为的功能。

丸趣 TV 网 – 提供最优质的资源集合!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-12-13发表,共计1246字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)