Python3中__call__方法介绍
如果Python3类中有__call__方法,那么此类实例的行为类似于函数并且可以像函数一样被调用。当实例作为函数被调用时,如果定义了此方法,则x(arg1, arg2, …)是x.__call__(arg1, arg2, …)的简写。
为了将一个类实例当作函数调用,我们需要在类中实现__call__()方法。该方法的功能类似于在类中重载()运算符,使得类实例对象可以像调用普通函数那样,以”对象名()”的形式使用。
以下为测试代码:
var = 2
if var == 1:# https://www.geeksforgeeks.org/__call__-in-python/class Example:def __init__(self):print("Instance Created")# Defining __call__ methoddef __call__(self):print("Instance is called via special method")e = Example() # Instance created # __init__ method will be callede() # Instance is called via special method # __call__ method will be called
elif var == 2:class Product:def __init__(self):print("Instance Created")# Defining __call__ methoddef __call__(self, a, b): # 可以定义任意参数print(a * b)ans = Product() # Instance created # __init__ method will be calledans(10, 20) # 200 # __call__ method will be calledans.__call__(10, 20) # 等价于ans(10, 20)print("test finish")
GitHub:https://github.com/fengbingchun/Python_Test
相关文章:

切尔西携手YouTube 英超第一家共享视频球队诞生
英格兰超级足球联赛冠军球队切尔西日前表示,已经与互联网视频服务网站YouTube签订了合作协议,未来将通过YouTube发布每日新闻和视频内容,从而也成为英超首支在线视频服务的球队. 据路透社报道,根据协议的内容,切尔西将建立一个YouTube旗下的品牌网站,其中将发布每日更新内容,当…
商汤联手华科:提出文字检测模型GNNets,新颖模块可解决几何分布难题
加入「公开课」交流群,获取更多学习资料、课程及热招岗位等信息编辑 | Jane出品 | AI科技大本营(ID:rgznai100)【导读】今年的ICCV,商汤科技及联合实验室共有57篇论文入选ICCV 2019(包含11篇Oral࿰…

(链表)反转链表Reverse List
逆转链表是简单而又简单的链表问题,其问题的方法之一可以设置三个指针,一个指向当前结点,一个指向前驱结点,一个指向后继指针 代码如下: class Solution { public:ListNode* ReverseList(ListNode* pHead) { // if(pHeadNULL || pHead->nextNULL) // return pH…

很长时间没有来了
好长时间没有来自己的博客了,更新的速度实在是太慢了,自己已经找了一份新的工作,给自己一个好的环境吧,有时间可以去学习更多的网络知识了.学习万岁!加一下,博友:思念狗的骨头:[url]http://starger.blog.51cto.com/ [/url] 他的文章还是比较不错的!转载于:https://blog.51cto.c…
十年磨一剑,可重构计算架构将引领未来芯片市场
2019 年 6 月,AI 芯片创业公司清微智能首款可重构计算架构 AI 芯片实现量产的消息在业内迅速传开,可重构计算架构芯片再次引发一波讨论的热潮。经历过十多年的技术积累,这枚小小的芯片在全球芯片市场中开启了全新的篇章。时光倒流,…

PyTorch中nn.Module类中__call__方法介绍
在PyTorch源码的torch/nn/modules/module.py文件中,有一条__call__语句和一条forward语句,如下: __call__ : Callable[…, Any] _call_impl forward: Callable[…, Any] _forward_unimplemented 在PyTorch中nn.Module类是所有神经网络模块…

压缩和归档及vi的使用
1.cat(more less head tail) /etc/passwd :查看/etc/passwd文件内容2.head -13 /etc/passwd | tail -1 :只查看/etc/passwd文件中第13行3.wc -l /etc/passwd :统计/etc/passwd文件有多少行4.grep -v "^#" /etc/inittab | grep -v &…
看到抖音上Python工程师晒得工资条,我沉默了......
我是个抖音中毒者闲来无事就喜欢刷抖音最近刷到了一个Python工程师的工资条然后我默默的打开看了然后我默默的关闭了我想这个工资算下来好像也不算高我就去其他渠道搜索了一下相关的Python工作岗位的工资好吧,都是比这个工资更高的emmm.....此时我很沉默后悔为什么我…

windows上通过cmake-gui生成pytorch工程
在Windows下通过cmake-gui.exe生成不带cuda的Torch.sln工程操作步骤:PyTorch版本使用1.8.1。首先可以先通过打开cmake-gui.exe,指定pytorch源代码目录和生成vs2017工程的位置;然后点击Configure,选中”Visual Studio 15 2017 Win6…

RequisitePro SQL SERVER数据库的配置
安装好Rational RequisitePro后,新建立一个project时,要选择库的类型,可以支持MS Access、SQL SERVER和oralce首先在SQL SERVER里新建一数据库名为”RequisitePro”然后在查询分析器里执行其自带的脚本文件,位置在《Rational安装目…

yum三种方法
RHEL5中实现各种服务的准备条件:(一)、制作YUM本地源:YUM简介:YUM是Yellow dog Updater Modified的简称,yum是软件的仓库,它可以是http或ftp站点,也可以是本地软件池,但必须包含rpm的header&…

损失函数之Cross-Entropy介绍及C++实现
在深度学习中,损失函数用来评估模型的预测值与真实值之间的差异程度,是模型对数据拟合程度的反映,拟合的越差,损失函数的值越大;反之,损失函数越小,说明模型的预测值就越接近真实值,…

C语言应用于LR中-如何得到数组长度
C语言没有提供获取数组长度的函数,最起码我不知道,所以编写了一个函数取数组的长度,调试成功,大家可以试试。另外也可以用sizeof(a)/4来取得整型数组的长度,因为整型占4个字节。效果相同。#include "web_api.h&qu…
6个你必须知道的机器学习的革命性的教训
加入「公开课」交流群,获取更多学习资料、课程及热招岗位等信息作者 | James Warner编译 | ronghuaiyang来源 | 转载自AI公园(ID:AI_Paradise)【导读】机器学习是未来,因为它将广泛应用于计算机和其他领域。尽管如此,开发有效的机…

vim ctags使用方法
一、用好系统自带软件ctags大部分的unix系统都有ctags软件,它能跟vim很好地合作。用途:生成c语言的标签文件,实现相关c文件之间的跳转。用法:1.生成标签文件在当前目录下(运行$提示符后面的命令): $ctags -R .-R表示recursive,递归,为当前目录…

pybind11介绍
pybind11是一个轻量级的仅头文件库,主要用于创建现有C代码的Python绑定,它的源码在https://github.com/pybind/pybind11,license为BSD,最新发布版本为2.9.1。 可将pybind11库视为Boost.Python的一个小型自包含版本(Think of this …
改善AI性别偏见的4种方法 | CSDN博文精选
加入「公开课」交流群,获取更多学习资料、课程及热招岗位等信息作者 | Josh Feast翻译 | 王子龙校对 | 王琦本文阐述导致AI偏见的原因并提出应用的解决方案。任何对AI偏见的审查都需要意识到一个事实:这些偏见主要源于人类固有的偏见。我们创建、训练的模…

C#程序调用外部程序
/**编程语言:VisualStudio.NetC#(Beta2)*作者:迪泊威*功能:通过C#程序调用Windows记事本程序编辑一个*名为test.txt的文本文件。**在整个程序中System.Diagnostics.Process.Start(Info)*为主要语句。*如果只是单独执行一个外部程序࿰…

svn 同步脚本
REPOS"$1"REV"$2"export LANGen_US.UTF-8/usr/bin/svn update /home/wwwroot/yswifi --username yangxc --password yangxc >>/tmp/svn_hook_log.txtecho who am i,$REPOS,$REV >> /tmp_hook_var.txt转载于:https://www.cnblogs.com/xkcp008/p…
DevOps火爆,招人却太难了!
DevOps一词最近两年人们谈的比较多,很多人简单地理解为“Dev”“Ops”,是否将开发人员和运营人员放在一个部门就完事了呢?其实DevOps是一组过程、方法与系统的统称,用于促进开发、技术运营和质量保障部门之间的沟通、协作与整合。…

网络数据包分析软件Wireshark简介
Wireshark是被广泛使用的免费开源的网络协议分析软件(network protocol analyzer)或网络数据包分析软件,它可以让你在微观层面上查看网络上发生的事情,它的功能是截取网络数据包,并尽可能显示出最为详细的网络数据包信息。它的源码在https://…

SEO研究:网站结构
在衡量所有权重之间,网站结构大概占到30%,这也是很多网站排名不好,或者有站长根本不用优化就能获得很好排名的原因。说到结构必须明白两个概念,一个是物理概念,就是文件存放的路径,另一个是逻辑结构。比较好的情况是逻…

form实现登陆操作
这几天想写个保存cookies的网页,先写了个登陆界面,奈何点击登陆后总是无法正常跳转。经查阅资料和询问高手,总算得以解决。 原错误代码如下: <html> <title>SaveCookies</title> <head> <script>fu…

深度学习中的优化算法之BGD
之前在https://blog.csdn.net/fengbingchun/article/details/75351323 介绍过梯度下降,常见的梯度下降有三种形式:BGD、SGD、MBGD,它们的不同之处在于我们使用多少数据来计算目标函数的梯度。 大多数深度学习算法都涉及某种形式的优化。优化指…
死宅福音:乐高不怕多,智能分拣机帮你归类
作者 | 神经小兮来源 | HyperAI超神经(ID:HyperAI)【导读】乐高现在几乎已经是优质玩具的代名词,该品牌旗下最为知名的,莫过于乐高积木。其丰富的形状与多样的玩法,无论大人小孩都喜欢。但是,这…

优化eclipse启动速度
< DOCTYPE html PUBLIC -WCDTD XHTML StrictEN httpwwwworgTRxhtmlDTDxhtml-strictdtd> 最近发现eclipse越来越慢,影响了开发使用速度。经过处理,快了一些,希望给大家一些提示。 1,取消系统的自动折叠 操作方法:…

一个基于J2EE的web应用程序运行起来需要什么?
2019独角兽企业重金招聘Python工程师标准>>> Eclipse ?IDEA?这是目前市面上最常用的开发工具啦,我的理解是这些只是开发工具,是为了方便开发的,而不是web应用程序运行起来必须的东西。 为什么会有些这方面东…

深度学习中的优化算法之MBGD
之前在https://blog.csdn.net/fengbingchun/article/details/75351323 介绍过梯度下降,常见的梯度下降有三种形式:BGD、SGD、MBGD,它们的不同之处在于我们使用多少数据来计算目标函数的梯度。 大多数深度学习算法都涉及某种形式的优化。优化指…
华科提出目标检测新方法:基于IoU-aware的定位改进,简单又有效
作者 | 周强来源 | 我爱计算机视觉(ID:aicvml)【导语】近日,华中科技大学发表了一篇新论文《IoU-aware Single-stage Object Detector for Accurate Localization》,在此论文中作者提出了一种非常简单的目标检测定位改…

js init : function ()
这个init外面应该还有一层,比如 var a { init: function () {...}, exit: function () {...} } 这样的话,可以用a.init()来调用这个函数, <script type"text/javascript">var obj{init:function(str){alert("init调用&…