Python中@是什么意思,怎么使用
Admin 2022-06-21 群英技术资讯 1217 次浏览
在实际应用中,我们有时候会遇到“Python中@是什么意思,怎么使用”这样的问题,我们该怎样来处理呢?下文给大家介绍了解决方法,希望这篇“Python中@是什么意思,怎么使用”文章能帮助大家解决问题。可以在模块或者类的定义层内对函数进行修饰。出现在函数定义的前一行,不允许和函数定义在同一行。
一个修饰符就是一个函数,它将被修饰的函数作为参数,并返回修饰后的同名函数或其他可调用的东西(如果返回不是一个可调用的对象那么会报错)。
例1:
def funA(desA):
print("It's funA")
def funB(desB):
print("It's funB")
@funA
def funC():
print("It's funC")
运行结果:
It's funA
例2:
可以看出,该例子中@test等价于 test(xxx()),但是这种写法你得考虑python代码的执行顺序。
def test(func):
print("a")
return func()
@test
def xxx():
print('Hello world!')
运行结果:
a
Hello world!
例3:
为更深刻理解该用法,来个复杂点的嵌套型。
def funA(desA):
print("It's funA")
print('---')
print(desA)
desA()
print('---')
def funB(desB):
print("It's funB")
@funB
@funA
def funC():
print("It's funC")
运行结果:
It's funA
---
<function funC at 0x00000252D2545550>
It's funC
---
It's funB
解析:
不常用。
例:
import torch n=100 x = torch.ones(n,2) x[:,0].uniform_(-1.,1) # 第一列变换至(-1.,1) 之间 print(x[:5]) # 输出前5行 a = torch.tensor([3.,2.]) # 一维Tensor print(a) print(a.shape) y = x@a print(y) print(y.shape)
输出结果:
tensor([[ 0.8230, 1.0000],
[ 0.2427, 1.0000],
[-0.7416, 1.0000],
[-0.1267, 1.0000],
[ 0.7767, 1.0000]])
tensor([3., 2.])
torch.Size([2])
tensor([ 4.4691, 2.7281, -0.2249, 1.6198, 4.3302, 3.3386, 1.9908, -0.8602,
4.9401, 1.9773, 4.5304, -0.1322, 3.9059, -0.6714, 1.8961, 3.7886,
0.8241, 4.4958, 2.2765, 2.0459, 3.6542, 3.0824, 2.8941, 1.0526,
4.8735, 1.4954, 3.0208, 4.0778, 2.3491, 2.2261, 3.1072, 1.0640,
1.7861, -0.8534, 3.2532, 1.5553, 0.2124, 3.6449, 1.6078, -0.1138,
4.2842, 3.7184, 2.2547, 3.4069, 3.6274, 0.4879, 1.4638, 3.9289,
3.3475, 4.1895, 1.5572, 0.8312, 2.9297, -0.9266, 0.4067, 2.5237,
0.6808, 4.9553, 3.3838, 0.5514, 4.8429, 0.0513, 3.4206, 0.3634,
4.7817, 3.0385, 2.3276, -0.0794, 3.4981, 4.3776, -0.8681, -0.4573,
3.6906, 1.2463, 1.4817, 4.0007, 4.7871, 2.5638, 4.2755, 3.1731,
3.4726, 2.1015, -0.8896, 1.4156, 1.2603, 4.0047, 3.3631, 3.5998,
3.2414, -0.1534, 3.6266, 0.3750, 4.4118, -0.0199, 1.6172, 3.2992,
-0.2325, 1.8240, 0.5580, 2.1420])
torch.Size([100])
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
在前面几个章节中,我们其实已经接触了 Python 的输入输出的功能。本章节我们将具体介绍 Python 的输入输出。
在本篇文章里小编给大家分享的是一篇关于Flask中提供静态文件的实例及相关知识点详解,有兴趣的朋友们可以跟着学习下。
这篇文章给大家分享的是有关装饰器的内容,介绍了典型的函数装饰器和标准库中的装饰器,小编觉得挺实用的,因此分享给大家做个参考,接下来一起跟随小编看看吧。
这篇文章主要介绍了Python机器学习之Kmeans基础算法,文中有非常详细的代码示例,对正在学习python的小伙伴们有非常好的帮助,需要的朋友可以参考下
这篇文章给大家分享的是有关python合并excel表的操作,合并excel表是比较常用的操作了,小编觉得挺实用的,因此分享给大家做个参考,接下来一起跟随小编看看吧。
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008