python对象之__call__方法
2024-10-07 12:43:33
先看示例,然后啥都明白了
class Student():
def __call__(self, *args, **kwargs):
print('__call__方法被调用', *args) class Person():
def mm(self):
print('mm方法被调用')
测试代码 :
from test.student import Student, Person if __name__ == '__main__':
student =Student()
student('ni nai nai de ') print('*'*40)
person = Person()
person()
打印结果:
C:\Users\zhengqinfeng\AppData\Local\Programs\Python\Python37\python.exe E:/ws/python/LearnFlask/test/xx.py
Traceback (most recent call last):
__call__方法被调用 ni nai nai de
File "E:/ws/python/LearnFlask/test/xx.py", line 9, in <module>
****************************************
person()
TypeError: 'Person' object is not callable Process finished with exit code 1
结论: Student对象的正常调用,而Person调用报错,一切都是因为__call__方法, 它就是对象的回调方法。。。。
补充: 对象+() 即是调用__call__方法
最新文章
- Unknown lifecycle phase ";mvn";. You must specify a valid lifecycle phase or a goal in the format <;plugin-prefix>;:<;goal>; or <;plugin-group-id>;:<;plugin-artifact-id>;[:<;plugin-version>;]:<;goal>;
- Mongo运行错误:Failed to connect 127.0.0.1:27017,reason:errno:10061由于目标计算机积极拒绝,无法连接
- Hibernate 配置 双向 对多关联 (未完待续&#183;&#183;&#183;&#183;&#183;&#183;&#183;)
- Bestcoder13 1003.Find Sequence(hdu 5064) 解题报告
- 学习html5第一天
- pyCharm使用
- Android的系统架构
- C++实现base64编码
- Ghost.py 0.1b3 : Python Package Index
- Hibernate核心配置文件
- Java 中静态方法 实例方法 具体方法区别与联系
- 单源最短路径问题-Dijkstra算法
- html,css学习实践总结
- 火狐扒代码插件ScrapBook
- fullPage全屏高度自适应
- IOS使用mkdir创建目录
- EF调用存储过程查询表中的部分字段,报数据读取器与指定的“AdventureWorksDWModel.Student”不兼容。某个类型为“Age”的成员在同名的数据读取器中没有对应的列。
- 第112天:javascript中函数预解析和执行阶段
- nib文件的默认搜索规则
- 【转载】 旧版本Microsoft Office正在配置解决方法
热门文章
- 自定义控件 - 字母索引 : LetterIndexView
- DirectX 安装报错: 不能信任一个安装所需的压缩文件,请检查加密服务是否启用并且cabinet文件证书是否有效
- Mac 10.14 下为php 安装xdebug 并让vscode支持
- ELK 学习
- CGI 环境变量
- DropDownList 需要加AutoPostBack=";true"; ,OnSelectedIndexChanged方法才有效
- 前端项目中使用jsencrypt进行字段加密
- python基础-12 多线程queue 线程交互event 线程锁 自定义线程池 进程 进程锁 进程池 进程交互数据资源共享
- python函数-作用域
- 红黑树的删除操作---以JDK源码为例