python - python中的call()和__call__()方法有什么区别?
问题描述
在 tensorflow 文档中,我看到在子类化激活和模型时定义的 call() 方法。然而,在子类化正则化器、初始化器和约束的情况下,它们定义了 __class__() 方法。
在玩两者时,我自己找不到任何差异。
有人能告诉我有什么区别吗?
解决方案
call()
只是一个常规方法,您可以在类的实例上调用它,例如foo.call(...)
.
__call__()
是一种使实例本身可调用的特殊方法。所以foo.call(...)
你可以做而不是做foo(...)
。(你也可以foo.__call__()
静止不动。)
推荐阅读
- amazon-web-services - AWS Security group requirements for user data
- sonarqube - SonarQube Azure Devops Not Authorized
- python - How to return a value from a function to another function with Tkinter?
- java - 发布请求中的 Android volley Body
- python - Looking to concatenate specifc word in text
- php - Str replace in php?
- ionic4 - 在 ionic 4 中查看 pdf 文件 - 类似条款和条件的页面
- autohotkey - How to activate/deactivate AutoHotkey script based on active input method?
- r - 在 Rcpp 中对矩阵的所有列或所有行进行快速选择的多线程最快方法 - OpenMP、RcppParallel 或 RcppThread
- azure-devops - 为什么我不能在不运行的情况下保存管道?