iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >python中@怎么用
  • 690
分享到

python中@怎么用

2023-06-25 22:06:33 690人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

这篇文章将为大家详细讲解有关python中@怎么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一、表示修饰符。可以在模块或者类的定义层内对函数进行修饰。出现在函数定义的前一行,不允许和函数定义在同一行。

这篇文章将为大家详细讲解有关python中@怎么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

一、表示修饰符。

可以在模块或者类的定义层内对函数进行修饰。出现在函数定义的前一行,不允许和函数定义在同一行。

一个修饰符就是一个函数,它将被修饰的函数作为参数,并返回修饰后的同名函数或其他可调用的东西(如果返回不是一个可调用的对象那么会报错)。

例1:

def funA(desA): print("It's funA") def funB(desB): print("It's funB") @funAdef funC(): print("It's funC")

运行结果:

It's funA

例2:

可以看出,该例子中@test等价于 test(xxx()),但是这种写法你得考虑Python代码的执行顺序。

def test(func):    print("a")    return func()    @testdef 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@funAdef funC(): print("It's funC")

运行结果:

It's funA

---

<function funC at 0x00000252D2545550>

It's funC

---

It's funB

解析:

  1. @funB 修饰装饰器@funA,@funA 修饰函数定义def funC(),将funC()作为funA()的参数,再将funA(funC())作为funB()的参数。 执行的时候由上而下,先执行funA(funC()),再执行funB(funA(funC()))。注意,funC()并不执行,除非funA()函数中给出了执行funA()的代码。

  2. 打印desA,其传的是funC()的地址,即desA现在为函数desA()。 执行desA()即执行funC(),desA=desA()=funC()。

二、表示矩阵乘法。

        不常用。

例:

import torch n=100x = torch.ones(n,2)x[:,0].unifORM_(-1.,1)  # 第一列变换至(-1.,1) 之间print(x[:5])  # 输出前5行a = torch.tensor([3.,2.]) # 一维Tensorprint(a)print(a.shape)y = x@aprint(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])

关于“python中@怎么用”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

--结束END--

本文标题: python中@怎么用

本文链接: https://www.lsjlt.com/news/306383.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • python中@怎么用
    这篇文章将为大家详细讲解有关python中@怎么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一、表示修饰符。可以在模块或者类的定义层内对函数进行修饰。出现在函数定义的前一行,不允许和函数定义在同一行。...
    99+
    2023-06-25
  • python中return怎么用
    小编给大家分享一下python中return怎么用,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!python return用法:1、返回函数的返回值;2、终止程序的运行,提前退出,例如,当函数内有错误发生时,使用retur...
    99+
    2023-06-06
  • Python中sys.argv[]怎么用
    这篇文章将为大家详细讲解有关Python中sys.argv[]怎么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。sys.argv[]说白了就是一个从程序外部获取参数的桥梁,这个“外部”很关键,所以那些试...
    99+
    2023-06-15
  • Python中scapy怎么用
    本篇文章给大家分享的是有关Python中scapy怎么用,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。网络编程大家都学过吧socket&nbs...
    99+
    2024-04-02
  • Python中Matplotlib怎么用
    这篇文章将为大家详细讲解有关Python中Matplotlib怎么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。0. 前言为了方便以下举例说明,我们先导入需要的几个库。以下代码在Jupyter Note...
    99+
    2023-06-25
  • python中append怎么用
    在Python中,append()是列表对象的一个方法,用于向列表末尾添加一个元素。需要注意的是,append()方法只能用于列表对象,不能用于其他类型的对象。此外,append()方法会直接修改原列表,而不会返回一个新的列表。在Pytho...
    99+
    2023-11-14
    python append
  • python中input怎么用
    非常抱歉,由于您没有提供文章标题,我无法为您生成一篇高质量的文章。请您提供文章标题,我将尽快为您生成一篇优质的文章。...
    99+
    2024-05-22
  • python中list怎么用
    非常抱歉,由于您没有提供文章标题,我无法为您生成一篇高质量的文章。请您提供文章标题,我将尽快为您生成一篇优质的文章。...
    99+
    2024-05-22
  • Python中Playwright怎么用
    这篇文章将为大家详细讲解有关Python中Playwright怎么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。Playwright是Microsoft在2020年初开源的新一代自动化测试工具,它的功能...
    99+
    2023-06-22
  • python中int怎么用
    小编给大家分享一下python中int怎么用,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!python中int的用法:【int()】函数用于将一个字符串或数字转换为整型,语法为【class int(x, base=10)】...
    99+
    2023-06-06
  • python中end怎么用
    非常抱歉,由于您没有提供文章标题,我无法为您生成一篇高质量的文章。请您提供文章标题,我将尽快为您生成一篇优质的文章。...
    99+
    2024-05-22
  • python中eval怎么用
    这篇文章将为大家详细讲解有关python中eval怎么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。python中eval的用法:将字符串str当成有效的表达式来求值并返回计算结果,语法为【eval(s...
    99+
    2023-06-06
  • Python中Parser怎么用
    这篇文章主要介绍了Python中Parser怎么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。一、介绍argparse 模块可以让人轻松编写用户友好的命令行接口。程序定义它...
    99+
    2023-06-15
  • Python中Gevent怎么用
    这篇文章主要为大家展示了“Python中Gevent怎么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Python中Gevent怎么用”这篇文章吧。可以通过gevent轻松实现并发同步或异步编...
    99+
    2023-06-25
  • python中f怎么用
    非常抱歉,由于您没有提供文章标题,我无法为您生成一篇高质量的文章。请您提供文章标题,我将尽快为您生成一篇优质的文章。...
    99+
    2024-05-15
  • python中imutils包怎么用
    这篇文章主要介绍python中imutils包怎么用,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!1.imutils功能简介imutils是在OPenCV基础上的一个封装,达到更为简结的调用OPenCV接口的目的,它...
    99+
    2023-06-20
  • Python中sys.argv怎么使用
    本篇内容主要讲解“Python中sys.argv怎么使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python中sys.argv怎么使用”吧!一、Python sys 模块“sys” 是 “...
    99+
    2023-07-04
  • python中tuple怎么使用
    在Python中,元组(tuple)是一个不可变的有序序列,可以存储多个元素。元组可以通过圆括号 () 来创建,并且可以包含任意类型...
    99+
    2023-09-22
    python
  • python中readline怎么使用
    在Python中,`readline`是File对象的一个方法,用于从文件中逐行读取数据。下面是`readline`方法的使用示例:...
    99+
    2023-09-25
    python readline
  • python中tkinter怎么使用
    在Python中使用Tkinter库来创建图形用户界面(GUI)。首先,需要导入Tkinter库:```pythonimport t...
    99+
    2023-09-13
    python
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作