Python教程:@符号的用法

这篇具有很好参考价值的文章主要介绍了Python教程:@符号的用法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

@ 符号在 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 中的作用。我们希望你觉得这个教程对你有帮助。文章来源地址https://www.toymoban.com/news/detail-710024.html

到了这里,关于Python教程:@符号的用法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • #Ts篇:符号`?.` 、`??` 、 `!` 、 `?: `的用法和区别

    ?. 定义 可选属性操作符 例如:obj?.prop。 如果 obj = null || undefined ==== undefined, 在上面的示例中, person1.age 和 person2.age 都可能为 undefined, 因为 age 属性是可选的。 而在访问 job.title 属性时,我们使用了可选属性访问操作符 ?. , 如果 person1.job 或 person2.job 为 null 或 undefined,

    2024年02月08日
    浏览(95)
  • PyTorch中的符号索引和函数索引用法

    Pytorch中很多函数都采用的是函数式索引的思路,而且使用函数式索引对代码可读性会有很大提升。 张量也是有序序列,我们可以根据每个元素在系统内的顺序位置,来找出特定的元素,也就是索引。 一维张量的索引 一维张量索引与Python中的索引一样是是从左到右,从0开始

    2024年02月01日
    浏览(30)
  • Markdown语法常见数学符号

    💝 如果大家认为本文章不错,可以 收藏加关注 哦!!!本文将持续更新~~~ 💝 希望大家在学习的道路上勇往直前💝💝 以下是Markdown常见数学符号表示方法以及应用场景: + :+ 用于表示加法操作。 - :- 用于表示减法操作。 * :* 用于表示乘法操作。 / :/ 用于表示除法操

    2024年02月14日
    浏览(40)
  • Ceph源码分析-在C++中,符号“&“和“*“有不同的用法。

    在C++中,符号\\\"\\\"和\\\"*\\\"有不同的用法。 \\\"\\\"符号: 在变量声明时,\\\"\\\"用于定义引用类型。例如: int a = 10; int ref = a;  这里的\\\"ref\\\"是一个引用,它引用了变量\\\"a\\\",对\\\"ref\\\"的修改会影响到\\\"a\\\"的值。 在函数参数中,\\\"\\\"用于传递参数的引用。例如: void foo(int num) { ... }  这里的\\\"num\\\"是一个引

    2024年02月01日
    浏览(43)
  • 使用Python爬取公众号的合集内容

    。。。最近老是更新关于博客的文章,很久没更新其他的了,然后写一下如何爬取微信公众号里面的图片吧! 先看看微信公众号的样子吧: 我爬取的是公众号的合集内容 首先用手机打开某个图片公众号的文章,然后复制链接用电脑打开,它的url为: 以下所展示的链接都是被

    2024年02月14日
    浏览(34)
  • 一文演示Python中最常用的 14 种数据图表

    收集数据后,需要对其进行解释和分析,以深入了解数据所蕴含的深意。而这个含义可以是关于模式、趋势或变量之间的关系。 数据解释是通过明确定义的方法审查数据的过程,有助于为数据赋予意义并得出相关结论。 数据分析是对数据进行排序、分类和总结以回答研究问

    2024年01月21日
    浏览(39)
  • Python中最常用的5种线程锁,你都会用吗

    对于日常开发者来讲很少会使用到本章节的内容,但是对框架作者等是必备知识,同时也是高频的面试常见问题。 线程安全是多线程或多进程编程中的一个概念,在拥有共享数据的多条线程并行执行的程序中,线程安全的代码会通过同步机制保证各个线程都可以正常且正确的

    2024年02月08日
    浏览(33)
  • 科研中论文常见数学符号及其含义(科研必备,建议收藏)

    返回论文和资料目录 数学符号在数学领域是非常重要的。在论文中,使用数学符号可以使得论文更加简洁明了,同时也能够准确地描述各种概念和理论。在本篇博客中,我将介绍一些常见的数学符号及其含义(省去特别简单的符号),希望能够帮助读者更好地理解数学论文。

    2023年04月25日
    浏览(41)
  • R语言绘图丨论文中最常用箱线图绘制教程,自动进行显著性检验和误差线标注

    在科研论文绘图中,对于多组数据进行比较一般采用箱线图的方法,今天分享一下这个经典数据可视化方法,从零开始绘制一张带 误差棒 并自动计算 显著性 比较结果的 箱线图 。 数据分布信息: 箱线图能够直观地展示数据的分布情况,包括数据的中位数、上下四分位数和

    2024年02月12日
    浏览(48)
  • 中国工科研究生200多篇英文论文中最常见的习惯(The Most Common Habits from more than 200 English Papers written by Gradua)

    原文地址:http://staff.ustc.edu.cn/~jpq/writing/The%20Most%20Common%20Habits.pdf 本文介绍了中国作家在200多篇英语科技论文中观察到的一些最常见的汉英习惯。这些习惯会被解释,在大多数情况下,来自实际论文的示例文本会与首选文本一起给出。试图解释如何纠正和防止此类错误。在某

    2024年02月08日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包