通常我们所见的@符号是用于邮箱中,而在python中@符号也有着重要的作用,一个是表示修饰符,另一个则是表示矩阵乘法。表示修饰符,可以在模块或者类的定义层内对函数进行修饰。虽然表示矩阵乘法不常用,但是也是很好的一个方法。
一、表示修饰符
用做函数的修饰符,可以在模块或者类的定义层内对函数进行修饰;
出现在函数定义的前一行,不允许和函数定义在同一行。
一个修饰符就是一个函数,它将被修饰的函数作为参数,并返回修饰后的同名函数或其他可调用的东西(如果返回不是一个可调用的对象那么会报错)。
def test(func): print("a") return func() @test# 从这里可以看出@test等价于 test(xxx()),但是这种写法你得考虑python代码的执行顺序 def xxx(): print('Hello world!')
输出
运行结果: a Hello world!
二、表示矩阵乘法
n=100 x = torch.ones(n,2) x[:,0].uniform_(-1.,1) x[:5] a = tensor(3.,2) y = x@a + torch.rand(n)
以上就是python中@符号的介绍,一定要注意这两种含义都是在python3.5以后哦~