通常我们所见的@符号是用于邮箱中,而在python中@符号也有着重要的作用,一个是表示修饰符,另一个则是表示矩阵乘法。表示修饰符,可以在模块或者类的定义层内对函数进行修饰。虽然表示矩阵乘法不常用,但是也是很好的一个方法。
一、表示修饰符
用做函数的修饰符,可以在模块或者类的定义层内对函数进行修饰;
出现在函数定义的前一行,不允许和函数定义在同一行。
一个修饰符就是一个函数,它将被修饰的函数作为参数,并返回修饰后的同名函数或其他可调用的东西(如果返回不是一个可调用的对象那么会报错)。
deftest(func): print("a") returnfunc() @test#从这里可以看出@test等价于test(xxx()),但是这种写法你得考虑python代码的执行顺序 defxxx(): print('Helloworld!')
输出
运行结果: a Helloworld!
二、表示矩阵乘法
n=100 x=torch.ones(n,2) x[:,0].uniform_(-1.,1) x[:5] a=tensor(3.,2) y=x@a+torch.rand(n)
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
评论(0)