19_repr和str

  • repr:用于python2,描述类的信息
  • str:用于python3,描述类的信息,同时重载__str__ 会覆盖__repr__ 方法
class Fish:
    def __repr__(self):
        return "我是fish类"
    def __str__(self) -> str:
        return "我才是fish类"

fish = Fish()
print(fish)
  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1. 什么是Python中的类? Python中的类是一种对象,它可以定义数据和方法,以及它们之间的关系。 2. 什么是类的实例? 类的实例是类的具体化,即类的一个具体对象。 3. 如何定义一个Python类? 使用class关键字,如下所示: ``` class MyClass: # class body ``` 4. 如何创建一个类的实例? 使用类的名称和一对括号,如下所示: ``` my_instance = MyClass() ``` 5. 如何定义类的属性? 可以在类的定义中定义属性,如下所示: ``` class MyClass: my_attribute = 'hello' ``` 6. 如何访问类的属性? 在类的实例上使用点号访问属性,如下所示: ``` print(my_instance.my_attribute) ``` 7. 如何定义类的方法? 可以在类的定义中定义方法,如下所示: ``` class MyClass: def my_method(self): print('Hello, world!') ``` 8. 如何调用类的方法? 在类的实例上使用点号调用方法,如下所示: ``` my_instance.my_method() ``` 9. 如何定义类的构造函数? 使用特殊的__init__方法,如下所示: ``` class MyClass: def __init__(self, name): self.name = name ``` 10. 如何创建类的实例并传递参数? 在实例化类时传递参数,如下所示: ``` my_instance = MyClass('John') ``` 11. 如何定义类的继承? 在类的定义中指定要继承的父类,如下所示: ``` class MyChildClass(MyParentClass): # class body ``` 12. 如何调用父类的方法? 使用super函数,如下所示: ``` class MyChildClass(MyParentClass): def my_method(self): super().my_method() ``` 13. 什么是多重继承? 多重继承是指一个类可以继承多个父类。 14. 如何处理多重继承中的命名冲突? 使用类的方法解析顺序(MRO)来确定要使用哪个方法,如下所示: ``` class MyChildClass(MyParentClass1, MyParentClass2): def my_method(self): super().my_method() ``` 15. 什么是类的静态方法? 类的静态方法是不需要访问实例或类的方法。 16. 如何定义类的静态方法? 使用@staticmethod装饰器,如下所示: ``` class MyClass: @staticmethod def my_static_method(): print('Hello, world!') ``` 17. 如何调用类的静态方法? 使用类的名称调用静态方法,如下所示: ``` MyClass.my_static_method() ``` 18. 什么是类方法? 类方法是访问类属性的方法。 19. 如何定义类方法? 使用@classmethod装饰器,如下所示: ``` class MyClass: my_attribute = 'hello' @classmethod def my_class_method(cls): print(cls.my_attribute) ``` 20. 如何调用类方法? 使用类的名称调用类方法,如下所示: ``` MyClass.my_class_method() ``` 21. 什么是Python中的特殊方法? 特殊方法是以双下划线开头和结尾的方法,用于实现类的特殊行为。 22. 什么是__str__方法? __str__方法是用于返回字符串表示形式的特殊方法。 23. 如何定义__str__方法? 使用__str__方法,如下所示: ``` class MyClass: def __str__(self): return 'MyClass instance' ``` 24. 如何调用__str__方法? 使用print函数打印类的实例,如下所示: ``` my_instance = MyClass() print(my_instance) ``` 25. 什么是__repr__方法? __repr__方法是用于返回对象的“官方”字符串表示形式的特殊方法。 26. 如何定义__repr__方法? 使用__repr__方法,如下所示: ``` class MyClass: def __repr__(self): return 'MyClass()' ``` 27. 什么是__len__方法? __len__方法是用于返回对象长度的特殊方法。 28. 如何定义__len__方法? 使用__len__方法,如下所示: ``` class MyList: def __init__(self, items): self.items = items def __len__(self): return len(self.items) ``` 29. 什么是__getitem__方法? __getitem__方法是用于返回对象中索引的元素的特殊方法。 30. 如何定义__getitem__方法? 使用__getitem__方法,如下所示: ``` class MyList: def __init__(self, items): self.items = items def __getitem__(self, index): return self.items[index] ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值