首页 > 编程语言 >Python教程:@符号的用法

Python教程:@符号的用法

时间:2023-09-18 19:45:57浏览次数:49  
标签:教程 符号 Python myfunc 用法 func Hello def

@ 符号在 Python 中最常见的使用情况是在装饰器中。一个装饰器可以让你改变一个函数或类的行为。

@ 符号也可以作为一个数学运算符使用,因为它可以在Python中乘以矩阵。本教程将教你如何使用 Python 的@ 符号。

装饰器中使用@ 符号

装饰器是一个接受一个函数作为参数的函数,向其添加一些功能,并返回修改后的函数。

例如,请看下面的代码。

def decorator(func):
    return func
@decorator
def some_func():
    pass

这等同于下面的代码。

def decorator(func):
    return func
def some_func():
    pass
some_func = decorator(some_func)

装饰器修改了原始函数,而没有改变原始函数中的任何脚本。

让我们看看上述代码片断的一个实际例子。

def message(func):
    def wrapper():
        print("Hello Decorator")
        func()
    return wrapper
def myfunc():
    print("Hello World")

@ 符号与装饰器函数的名称一起使用。它应该写在将被装饰的函数的顶部。

@message
def myfunc():
	print("Hello World")
myfunc()

输出:

Hello Decorator
Hello World

上面的装饰器例子与这段代码做了同样的工作。

def myfunc():
    print("Hello World")
myfunc = message(myfunc)
myfunc()

输出:

Hello Decorator
Hello World

Python中一些常用的装饰器是:@property ,@classmethod ,和@staticmethod 。

使用@ 符号进行矩阵相乘

从Python 3.5开始,@ 符号也可以作为一个操作符在Python中执行矩阵乘法。

下面的例子是一个在Python中进行矩阵相乘的简单实现。

class Mat(list):
    def __matmul__(self, B):
        A = self #Python小白学习交流群:153708845
        return Mat([[sum(A[i][k]*B[k][j] for k in range(len(B)))
                    for j in range(len(B[0])) ] for i in range(len(A))])
A = Mat([[2,5],[6,4]])
B = Mat([[5,2],[3,5]])
print(A @ B)

输出:

[[25, 29], [42, 32]]

就这样了。Python 中的@ 符号被用于装饰器和矩阵乘法。

现在你应该明白@ 符号在 Python 中的作用。我们希望你觉得这个教程对你有帮助。

标签:教程,符号,Python,myfunc,用法,func,Hello,def
From: https://www.cnblogs.com/xxpythonxx/p/17712882.html

相关文章

  • Python中装饰器的顺序
    什么是装饰器,它们如何被使用,以及我们如何利用它们来构建代码。我们将看到装饰器是如何成为一个强大的工具,可以用来为我们的应用程序添加功能,并且可以在Python编程语言中找到。装饰器顺序在Python中,装饰器是一个特殊的函数,可以修改另一个函数的行为。装饰器是一种设计模式,它在不......
  • Python学习笔记
    Python语言是一种解释性、面向对象、动态数据类型的高级程序设计语言创始人:吉多,荷兰人时间:1989编写的,1991公开发行Python语言特点开源、免费面向过程、面向对象、交互式编程面向过程:以事情或解决问题的过程为中心,主要考虑解决问题的思路和步骤面向对象:以事务为中心,主要考虑解决问......
  • 无涯教程-JavaScript - PRODUCT函数
    描述PRODUCT函数将所有作为参数给出的数字相乘并返回乘积。如,如果单元格A1和A2包含数字,要将这两个数字相乘,可以使用以下公式=产品(A1,A2)这与与(*)数学运算符相乘相同。即=A1*A2当您需要将多个单元格相乘时,PRODUCT功能非常有用。Example=产品(A1:A3,C1:C3)这和=......
  • Python(二)
    字典字典属于无序、可变的数据类型以键:值的方式存储、通过键来访问字典的值说明:字典以花括号{}括起来的数据集合,不同数据间以“,”分隔,每个数据以“键:值”的形式表达语法格式:#创建字典字典名={键1:值1,键2:值2,键3:值3,键4:值4,…}#常用字典名=dict(键1=值1,键2......
  • Go比Python快多少倍?请看一个简单的例子
    需求两个0-10000的数组,循环遍历两个数组,获取两个元素,打印出乘积为56213的所有元素Python实现importdatetimes=datetime.datetime.now()foriinrange(10000):forjinrange(10000):ifi*j==56213:print(f"{i}*{......
  • 2022年07月 python界面可视化 VS2022配置PyQt5环境
    文章目录 一、VS2022配置PyQt5环境1.安装anaconda及opencv-python1.1安装对应的anaconda包1.2安装opencv-python2.安装PyQt53.安装PyQt常用工具4.配置系统环境变量5.配置VS2022中的外部工具6.第一个VS2022下的pyqt5程序一、VS2022配置PyQt5环境本机环境:......
  • Python实现数据采集
    前提是配置好hadoop的相关环境1、分析网页,确定采集的数据我们需要获取到该网页的如下几个信息:请求信息:url——网站页面地址设置这个请求的请求头:headers——(user-agent/referer/origin/cookie)设置这个请求的传递数据:data——(first/pn/kd)------>解决编码如下图所示:先安装......
  • Python 3
    1.查看版本python-V第一个Python3.x程序Python常用文件扩展名为 .py。Python是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。Python的设计具有很强的可读性,相比其他语言经常使用英文关键字,其他语言的一些标点符号,它具有比其他语言更有特色语法结构。Python......
  • 无涯教程-JavaScript - PI函数
    描述PI函数返回数字3.14159265358979,数学常数pi,精确到15位数字。语法PI()争论PI函数语法没有参数。适用性Excel2007,Excel2010,Excel2013,Excel2016Example参考链接https://www.learnfk.com/javascript/advanced-excel-math-trignometric-pi-function.html......
  • Python 之 爬虫实战 -- 爬某音乐歌曲及评论信息
    使用Selenium爬某音乐歌曲及评论信息啦~Selenium简单介绍1)简介Selenium是一个用于测试网站的自动化测试工具,支持各种主流界面浏览器。简而言之,Selenium是一个用来做网站自动化测试的库,它的定位是做自动化测试的。我们也可以利用它来做爬虫,获取一些网页信息,并且这种爬虫是模......