python你在@什么&python的@符号用法

介绍

最近小虎遇到了python代码中的@,代码长下面这样。她到底在@u什么?我的例子中,这只是一个乘法。但更常见的用法是对类进行操作。有人叫@为装饰器。

INPUT_NOISE @ np.random.randn(2, 1)

@的用法

乘法

用2x2矩阵与随机数数组

INPUT_NOISE = np.diag([1.0, np.deg2rad(30.0)]) ** 2
x=np.random.randn(2, 1)

进行矩阵multiplication。

INPUT_NOISE @ x

结果跟下面一样

INPUT_NOISE.dot(x)

压缩名称

将pizza定义为Pizza的类,然后利用@对pizza进行添加修改。

class Pizza(object):
    def __init__(self):
        self.toppings = []

    def __call__(self, topping):
        # When using '@instance_of_pizza' before a function definition
        # the function gets passed onto 'topping'.
        self.toppings.append(topping())

    def __repr__(self):
        return str(self.toppings)

pizza = Pizza()

@pizza
def cheese():
    return 'cheese'
@pizza
def sauce():
    return 'sauce'

print(pizza)

结果如下:
在这里插入图片描述

压缩名称用途的参考资料:What does the “at” (@) symbol do in Python?

发布了103 篇原创文章 · 获赞 102 · 访问量 9万+

猜你喜欢

转载自blog.csdn.net/Davidietop/article/details/105602697
今日推荐