2017-08-17 23:35:25 +00:00
|
|
|
# 一、Python 的 Magic Method #
|
|
|
|
|
|
|
|
在 Python 中,所有以 "__" 双下划线包起来的方法,都统称为"魔术方法"。比如我们接触最多的 `__init__` 。魔术方法有什么作用呢?
|
|
|
|
|
|
|
|
使用这些魔术方法,我们可以构造出优美的代码,将复杂的逻辑封装成简单的方法。
|
|
|
|
|
|
|
|
那么一个类中有哪些魔术方法呢?
|
|
|
|
|
|
|
|
我们可以使用 Python 内置的方法 `dir()` 来列出类中所有的魔术方法.示例如下:
|
|
|
|
|
|
|
|
```python
|
|
|
|
#!/usr/bin/env python3
|
|
|
|
# -*- coding: UTF-8 -*-
|
|
|
|
|
|
|
|
class User(object):
|
|
|
|
pass
|
|
|
|
|
|
|
|
|
|
|
|
if __name__ == '__main__':
|
|
|
|
print(dir(User()))
|
|
|
|
```
|
|
|
|
|
|
|
|
输出的结果:
|
|
|
|
|
2017-12-22 08:14:43 +00:00
|
|
|

|
2017-08-17 23:35:25 +00:00
|
|
|
|
|
|
|
可以看到,一个类的魔术方法还是挺多的,截图也没有截全,不过我们只需要了解一些常见和常用的魔术方法就好了。
|