Python 面向对象 —— 特殊函数
来源:互联网 发布:snapchat网络无法连接 编辑:程序博客网 时间:2024/06/06 03:36
类的成员中以
__
开头和结尾的(__xx__
)为特殊函数,可以在外部直接访问,当然最直接的以及设计这一语法糖的初衷还是采用其重载形式。
注:1. 一般接口是固定的,不要轻易更改;
- __call__:括号运算符重载;
0. __new__ vs. __init__
在调用对象的构造方法时,Python 会调用 __new__ 创建对象,单后调用__init__ 初始化属性。
1. __repr__ vs. __str__
功能类似于 Java 类中的 toString() 方法;
一般 Python 会提供一个默认实现,比如,
return '<%s(%r)>' %(self.__class__, self.__dict__)
2. 逻辑运算
返回 boolean
- __lt__:
<
的重载 - __eq__:判等;
3. __add__ vs __radd__
返回对象实例;
obj + obj ⇒ __add__
integer + obj ⇒ __radd__
4. __setattr__ __getattr__ __delattr__
class Storage(dict): def __setattr__(self, key, value): self[key] = value # 重写dict, 通过`.`赋值 def __getattr__(self, key): try: return self[key] except KeyError: return None def __delattr__(self, key): try: del self[key] except KeyError: return None def __call__(self, key): try: return self[key] except KeyError: return None
0 0
- Python 面向对象 —— 特殊函数
- Python面向对象编程(5)——类的特殊方法
- Python面向对象5:特殊方法
- python——面向对象
- python基础—面向对象
- JS—特殊的对象~函数
- JS—特殊的对象~函数
- python面向对象编程(2):特殊方法
- python中面向对象编程的特殊方法
- 从C#到Python —— 3 函数及函数编程, 4类及面向对象
- C++面向对象编程<六>:Big Three,三个特殊函数
- 关于python——面向对象开发
- python之路——面向对象
- Python类——面向对象程序设计
- python学习——面向对象编程
- python学习——面向对象编程
- Python 面向对象 —— 多重继承
- Python面向对象——01
- CodeForces-672A-Summer Camp
- 根据B表数据更新A表
- CocurrentHashMap和Hashtable的区别
- 网络编程(二)
- MFC 基于多文档的打印和打印预览功能的实现
- Python 面向对象 —— 特殊函数
- Android关于透明度对应表
- RTTI
- Box2D C++ 教程-Testbed结构
- 如何解决java.lang.IllegalArgumentException: Illegal character in query at index 的问题?
- dex2oat程序参数总结
- 微信公众号自定义菜单操作步骤
- linux配置web服务器常用命令
- XML处理指令