python函数实例化_Python 语法问题,实例化了一个对象后直接把这个对象当作一个函数调用,这是什么语法?算是函数式编程吗?...

最近正在看 PyTorch,在 PyTorch 里看到了一种写法感觉很酷,但有点疑惑,遂来请教,感谢各位大佬答疑

在创建 PyTorch 的模型时会定义一个 class,这里是我抄来的代码:

class Encoder(nn.Module):

def __init__(

self,

n_src_vocab, len_max_seq, d_word_vec,

n_layers, n_head, d_k, d_v,

d_model, d_inner, dropout=0.1):

super().__init__()

# 具体的函数逻辑我就删掉了,应该没有什么关系

def forward(self, src_seq, src_pos, return_attns=False):

# 具体的函数逻辑我就删掉了,应该没有什么关系

return enc_output,

然后在另外的函数里初始化了这个类,给对象传入参数,代码如下:

encoder = Encoder(参数)

encoder(input_data)

按照我的理解这里在调用 encoder 时就相当于调用了 forward 函数,但是不需要用encoder.forward()这样的语法,请问这个叫什么?我该在搜什么关键词能找到这个语法?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值