Python oop中5个重要函数

在 Python 中,面向对象编程(OOP)是一种重要的编程范式,它基于类和对象的概念。下面是几个在面向对象编程中常用的重要函数:

class Person:    def init(self, name, age):        self.name = name        self.age = agedef __str__(self):    return f"Person(name={self.name}, age={self.age})"
def __repr__(self):    return f"Person('{self.name}', {self.age})"
def __getattr__(self, attr):    return f"{attr}属性不存在"
def __setattr__(self, attr, value):    print(f"设置属性 {attr}{value}")    self.__dict__[attr] = value
def __del__(self):    print(f"{self.name}对象被销毁")
def __call__(self, new_name):    self.name = new_name    print(f"姓名已更新为 {self.name}")
创建一个 Person 实例

person = Person(“Alice”, 30)

打印对象的友好字符串表示形式

print(person)  # 输出:Person(name=Alice, age=30)

打印对象的官方字符串表示形式

print(repr(person))  # 输出:Person(‘Alice’, 30)

访问不存在的属性

print(person.gender)  # 输出:gender属性不存在

设置属性

person.address = “123 Main St” print(person.address)  # 输出:123 Main St

删除对象

del person  # 输出:Alice对象被销毁

创建一个 Person 实例

person = Person(“Bob”, 25)

使用对象实例调用 call() 方法

person(“Charlie”)  # 输出:姓名已更新为 Charlie

1. __init__() 方法:

  • __init__() 方法是在创建一个对象时调用的特殊方法,用于初始化对象的状态。在类的定义中,你可以通过定义 __init__() 方法来指定对象的初始化过程。这个方法通常用于初始化对象的属性。

2. __str__() 和 __repr__() 方法:

  • __str__() 方法用于返回对象的“友好”字符串表示形式,通常用于打印对象或在格式化字符串中使用。当你打印一个对象或在使用 str() 函数时,Python 解释器会调用 __str__() 方法。
  • __repr__() 方法用于返回对象的“官方”字符串表示形式,通常包含对象的类型信息和关键属性值。当你在交互式环境中输入一个对象或使用 repr() 函数时,Python 解释器会调用 __repr__() 方法。

3. __getattr__() 和 __setattr__() 方法:

  • __getattr__() 方法用于在访问对象的不存在的属性时调用,你可以重写这个方法来定义你自己的属性访问行为。
  • __setattr__() 方法用于在设置对象的属性时调用,你可以重写这个方法来定义属性设置的行为。这可以用于在设置属性时进行验证或转换。

4. __del__() 方法:

  • __del__() 方法是在对象被销毁时调用的特殊方法,用于执行对象的清理工作。你可以在这个方法中释放资源、关闭文件等。

5. __call__() 方法:

  • __call__() 方法允许将对象实例像函数一样调用。当你在对象实例后面加上括号并传递参数时,Python 解释器会调用对象的 __call__() 方法。

这些都是 Python 中用于定义类和对象行为的重要函数。通过重写这些特殊方法,你可以自定义类的行为,使其符合你的需求。

原创文章,作者:guozi,如若转载,请注明出处:https://www.sudun.com/ask/78958.html

(0)
guozi's avatarguozi
上一篇 2024年5月30日 下午3:00
下一篇 2024年5月30日 下午3:04

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注