Python面向对象编程-4·类的特殊方法
2023-01-12 本文已影响0人
技术老男孩
一、类的特殊方法:
- 在 Python 中,所有以 “__” 双下划线包起来的方法,都统称为 “Magic Method”(魔术方法)
- 如果对象实现了这些魔法方法中的某一个,那么这个方法就会在特殊的情况下被 Python 所调用
方法名 | 说明 |
---|---|
__ init __ () | 初始化(给对象添加属性以及属性值) |
__ str __ () | 返回字符串类型,直接打印对象显示的字符串内容 |
__ call __ () | 当对象档次函数调用时执行的逻辑 |
二、调用使用示例:
# 创建新的python文件books.py,魔法方法 __str__,__call__方法的使用
class Book: #创建类Book, 定义魔法方法,实现对书籍信息的打印
def __init__(self, title, author): #定义__init__方法,获取书籍的信息【默认自动调用】
self.title = title
self.author = author
def __str__(self): #定义__str__方法, 必须返回一个字符串
return f "书名是:{self.tilte}"
def __call__(self): #用于创建可调用的实例,直接作为方法调用
print(f"{self.tile}是{self.author}编写的")
if __name__ == '__main__':
pybook = Book('Python核心编程', '韦斯利') # 抽象出对象pybook
print(pybook) # 调用__str__方法,打印书名
pybook() # 调用实例,默认调用__call__方法