python的magic methods
(由于markdown语法问题,下面的所有的方法名字前后的——都被识别为加粗语法)
魔术方法 | 调用方式 | 解释 |
---|---|---|
new(cls [,...]) | instance = MyClass(arg1, arg2) | new 在创建实例的时候被调用 |
init(self [,...]) | instance = MyClass(arg1, arg2) | init 在创建实例的时候被调用 |
cmp(self, other) | self == other, self > other, 等。 | 在比较的时候调用 |
pos(self) | +self | 一元加运算符 |
neg(self) | -self | 一元减运算符 |
invert(self) | ~self | 取反运算符 |
index(self) | x[self] | 对象被作为索引使用的时候 |
nonzero(self) | bool(self) | 对象的布尔值 |
getattr(self, name) | self.name # name 不存在 | 访问一个不存在的属性时 |
setattr(self, name, val) | self.name = val | 对一个属性赋值时 |
delattr(self, name) | del self.name | 删除一个属性时 |
__getattribute(self, name) | self.name | 访问任何属性时 |
getitem(self, key) | self[key] | 使用索引访问元素时 |
setitem(self, key, val) | self[key] = val | 对某个索引值赋值时 |
delitem(self, key) | del self[key] | 删除某个索引值时 |
iter(self) | for x in self | 迭代时 |
contains(self, value) | value in self, value not in self | 使用 in 操作测试关系时 |
concat(self, value) | self + other | 连接两个对象时 |
call(self [,...]) | self(args) | “调用”对象时 |
enter(self) | with self as x: | with 语句环境管理 |
exit(self, exc, val, trace) | with self as x: | with 语句环境管理 |
getstate(self) | pickle.dump(pkl_file, self) | 序列化 |
setstate(self) | data = pickle.load(pkl_file) | 序列化 |
python的magic methods的更多相关文章
- A Guide to Python's Magic Methods
Book Source:[https://rszalski.github.io/magicmethods/] magic methods: 名称前后有双下划线的方法 构造函数和初始化 初始化类实例时, ...
- Python 的 Magic Methods 指南(转)
介绍 本指南是数月博客的总结.主题是魔术方法. 什么是魔术方法呢?它们是面向对象Python语言中的一切.它们是你可以自定义并添加“魔法”到类中的特殊方法.它们被双下划线环绕(比如__init__或_ ...
- Pthon魔术方法(Magic Methods)-描述器
Pthon魔术方法(Magic Methods)-描述器 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.描述器概述 1>.描述器定义 Python中,一个类实现了&quo ...
- Pthon魔术方法(Magic Methods)-反射
Pthon魔术方法(Magic Methods)-反射 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.反射概述 运行时,区别于编译时,指的时程序被加载到内存中执行的时候. 反射 ...
- Pthon魔术方法(Magic Methods)-上下文管理
Pthon魔术方法(Magic Methods)-上下文管理 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.上下文管理方法 __enter__: 进入与此对象相关的上下文.如果 ...
- Pthon魔术方法(Magic Methods)-可调用对象
Pthon魔术方法(Magic Methods)-可调用对象 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.可调用对象方法 __call__: 类中定义一个该方法,实例就可以像 ...
- Pthon魔术方法(Magic Methods)-容器相关方法
Pthon魔术方法(Magic Methods)-容器相关方法 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.容器相关方法汇总 __len__: 内建函数len(),返回对象的 ...
- Pthon魔术方法(Magic Methods)-运算符重载
Pthon魔术方法(Magic Methods)-运算符重载 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.Python运算符对应的魔术方法 1>.比较运算符 <: ...
- Pthon魔术方法(Magic Methods)-bool
Pthon魔术方法(Magic Methods)-bool 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.bool方法 __bool__: 内建函数bool(),或者对象放在逻 ...
随机推荐
- oracle null+字符串问题
select 10 + 10 + 10 from dual结果是30,完全没问题. select null + 10 + 10 from dual结果是空串,但期望的结果是20. select nvl ...
- 【记录】uni-app Chrome跨域解决方案插件 has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is...
博主最近在用Hbuilder X开发前端网页时, 出现了has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header ...
- 在阅读众多的blog中,我学到了什么
写博客的人,自然会读别人的博客:读博客的人,不一定会写博客.但是这两种人之间的差别是很大的 在最近在一段时间,发现了一个好的博客,通过该博客的友链,发现了新大陆.... 从Jeff Wong开始,到老 ...
- git 分支相关操作
git status 查看当前工作区 会显示分支 如下 D:\工程\vue_study\testplat_vue>git statusOn branch masternothing to co ...
- Java中有几种类型的流?
(1)字节流 InputStream/OutputStream ①FileInputStream/FileOutputStream:文件字节流,用于文件的读写操作 ②BufferedInputStre ...
- Python删除文件夹
import os os.rmdir('OS-Demo-2') os.removedirs('OS-Demo-3/sub-Dir-1') os.removedirs()会自动将上一级文件夹也删除,谨慎 ...
- 【leetcode】951. Flip Equivalent Binary Trees
题目如下: For a binary tree T, we can define a flip operation as follows: choose any node, and swap the ...
- Windows 屏幕保护程序
{ 创建一个win32 窗口项目,不是控制台的 把exe改为src文件 复制到windows目录下 ok }
- 在SpringCloud中MAVEN配置文件中的更改
<mirrors> <mirror> <id>alimaven</id> <mirrorOf>central</mirrorOf> ...
- springboot输出hello world,3种方式(String,JSON,jsp),IDEA开发工具
新建项目: File -> new -> Project -> Spring Initializr -> Next -> Next -> Next-> Pro ...