python中@是什么意思

python中@是什么意思
python中@是什么意思

通常我们所见的@符号是用于邮箱中,而在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)

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注