定义函数后对其进行修饰?

2024-06-01

I think答案是否定的,但我似乎找不到明确的说法。我有以下情况;

def decorated_function(function):
    @functools.wraps(function)
    def my_function():
        print "Hello %s" % function.__name__
    return my_function

for attr, value in dct.iteritems():
    dct[attr] = decorated_function(value)

我真正想要的是类似的东西;

def my_function(function):
    print "Hello %s" % function.__name__

for attr, value in dct.iteritems():
    dct[attr] = functools.wraps(my_function, value)

删除decorated_function 令人困惑的外壳。装饰器只能在定义函数时应用吗?


您可以在定义函数后对其进行修饰。事实上,函数装饰器只是语法糖。例如,您可以替换

@classmethod
@synchronized(lock)
def foo(cls):
    pass

with

def foo(cls):
    pass
foo = synchronized(lock)(foo)
foo = classmethod(foo)

See https://www.python.org/dev/peps/pep-0318/ https://www.python.org/dev/peps/pep-0318/了解详情。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

定义函数后对其进行修饰? 的相关文章

  • 使用不带齿轮的discord.py 是否可以进行OOP?

    最近几天 我一直在尝试将用discord py 编写的discord 机器人的结构调整为更面向OOP 的结构 因为拥有现成的函数并不理想 但我发现了更多超出我预期的问题 问题是我想将所有命令封装到一个single类 但我不知道要使用什么装饰
  • 将表抓取到列表中

    我正在尝试从网页中提取表格 我已经设法将表中的所有数据放入列表中 然而 所有表数据都被放入一个列表元素中 我需要帮助将 干净 数据 即字符串 没有所有 HTML 包装 从表的行获取到它们自己的列表元素中 所以而不是 list tr th a
  • 限制 Python 上每秒的 HTTP 请求数

    我编写了一个脚本 用于从文件中获取 URL 并同时向所有 URL 发送 HTTP 请求 我现在想限制每秒 HTTP 请求数和每个接口的带宽 eth0 eth1等 在会话中 有什么办法可以在Python上实现这一点吗 您可以使用 Semaph
  • 如何在 pandas 数据框中创建包含现有行字符串中的单词的新行?

    我有一个DataFrame in pandas有一个名为df strings与文本字符串 我想将这些字符串的各个单词放在自己的行上 并在其他列中使用相同的值 例如 如果我有 3 个字符串 以及一个不相关的列 时间 Strings Time
  • 将返回值从操作符传递给气流中的后续操作符

    我试图给一个字符串列表source objects字段为GoogleCloudStorageToBigQueryOperator但使用以下代码我收到错误 字符串索引必须是整数 而不是 unicode 我不知道的事情 我如何获得return的
  • 将 mysql 连接传递给 python 线程时管道损坏

    我正在尝试将 mysql 连接传递给 python 中的线程 如果我在工作类中进行 mysql 的初始化 则不会出现错误 但是 连接的成本可能很高 因此我尝试仅从调用者函数传递 mysql 连接 请参见下面的代码 但这一直抛出这个错误 20
  • Scrapy ITEM_PIPELINES 警告

    我的settings py中有以下内容 ITEM PIPELINES mybot pipelines custompipeline 但是当我启动 scrapy 时 我收到以下警告 lib python2 7 site packages sc
  • 如何用Python检查一个单词是否是英文单词?

    我想在 Python 程序中检查一个单词是否在英语词典中 我相信 nltk wordnet 接口可能是可行的方法 但我不知道如何使用它来完成如此简单的任务 def is english word word pass how to I imp
  • 如何通过 tkinter 使用 虚拟事件

    我正在 Python 3 5 2 中使用 tkk Combobox 主题小部件 我希望在选择一个值时发生一个操作 在Python中docs https docs python org 3 library tkinter ttk html v
  • matplotlib 慢速 3D 散点旋转

    我正在使用 matplotlib 来散点图 3D 点矩阵 我正在使用以下代码 import pylab as plt from mpl toolkits mplot3d import Axes3D import numpy as np my
  • Django Tastypie 高级过滤:如何使用 Q 对象进行复杂查找

    我有一个基本的 Django 模型 例如 class Business models Model name models CharField max length 200 unique True email models EmailFiel
  • 如何将列表中的每个元素除以 int?

    我只想将列表中的每个元素除以一个 int myList 10 20 30 40 50 60 70 80 90 myInt 10 newList myList myInt 这是错误 TypeError unsupported operand
  • 将鼠标悬停在 Folium 的弹出窗口中

    用这样一个简单的例子 import folium map 1 folium Map location 45 372 121 6972 zoom start 12 tiles Stamen Terrain folium Marker 45 3
  • Python Turtle 中的 onkeypress() 和 Listen() 问题

    我的一个功能有问题 我使用 Python 3 7 当我尝试使用onkeypress 函数 什么也没有发生 我尝试检查它 但是当我按键时乌龟模块没有反应 我尝试使用 w 键向上移动桨 但这不起作用 以下是我的 py 文件 main py im
  • AttributeError:“函数”对象没有属性“编译”

    我一直面临这个属性错误 有什么想法可以解决它吗 def model input shape model keras Sequential model add keras layers LSTM 64 input shape 1 9 retu
  • SQLAlchemy如何为同一个表定义两个模型

    我有一个表 其中一列是具有两个值的 varchar groupA groupB 当我创建模型时 我想实现两件事 A 组模型 包含 X 数量的相关函数 B 组模型 包含 Y 数量的相关函数 两个模型的功能并不相同 尽管它们代表了same ta
  • 如何在 Pandas 中用多个唯一字符串替换重复值?

    import pandas as pd import numpy as np data Name Tom Tom Jack Terry Age 20 21 19 18 df pd DataFrame data 假设我有一个如下所示的数据框
  • 尝试将行附加到按对象分组中的每个组时出现奇怪的行为

    这个问题是关于一个函数在应用于两个不同的数据帧时以意想不到的方式表现的 更准确地说 是 groupby 对象 要么是我遗漏了一些明显错误的东西 要么是 pandas 中存在错误 我编写了以下函数 将一行附加到 groupby 对象中的每个组
  • Tastypie:GET 的身份验证和 POST 的匿名

    我使用 Django Tastypie 来管理我的用户集合 是否可以允许匿名用户在 API 中发布 在某个端点创建新用户时 并限制经过身份验证的用户仅获取自己的用户 而不是所有用户 感谢您的帮助 我发现最简单的事情就是对我正在使用的身份验证
  • OSMNX - 边缘的哪个“部分”被认为是最近的

    我正在使用 OSMNX 中的 returned edges 函数 我不清楚在进行此计算时使用边缘的哪个 部分 它是边缘的任何部分吗 是中间点吗 对于网络中的长边来说 这会产生很大的差异 这取决于您如何参数化该函数 来自nearest edg

随机推荐

  • 如何从 Dockerfile 安装 Python 3.7 和 Pip

    我正在尝试构建基于 Ubuntu 18 04 的自定义 Docker 映像 Ubuntu 预装了 Python 3 6 但我想 1 安装 Python 3 7 2 将其设置为默认 Python 版本 这样就可以使用python代替pytho
  • 部署 MVC4 项目时出错:找不到文件或程序集

    过去 我只需使用 Visual Studio 2012 发布到 AWS 菜单项即可部署我的 MVC4 网站 到 AWS Elastic Beanstalk 现在 程序可以在本地编译并运行 但无法部署 从消息来看 它似乎正在寻找不在当前部署的
  • MKMapView 中显示多个注释标注

    是否可以同时打开多个标注 代码 void mapViewDidFinishLoadingMap MKMapView theMapView for id
  • Spark scala:大量列上的简单 UDF 会导致性能下降

    我有一个包含 1 亿行和约 10 000 列的数据框 这些列有两种类型 标准 C i 和动态 X i 这个dataframe是经过一些处理后得到的 性能很快 现在只剩下2步了 Goal 需要使用 C i 列的相同子集对每个 X i 执行特定
  • 如何让“git status”始终使用短格式?

    我想要git status始终使用短格式 git status short M file1 M dir file2 file untracked3 dir file untracked4 似乎不存在这方面的配置选项 并且git config
  • 在 Android 上的测试用例之外运行 ExtractDecodeEditEncodeMuxTest

    我正在尝试添加在 Android 上提取 解码 编辑 编码和混合视频的功能 因此 我发现了一些非常有用的实现 它是Android CTS的一部分ExtractDecodeEditEncodeMuxTest https android goo
  • 如何中和 CSS 定义而不覆盖

    有没有一种方法可以中和元素的 CSS 规则而不覆盖所有内容 例如 我正在使用 Twitter Bootstrap 它有许多预定义的 CSS 定义table 在某些地方 我不想要它们 对某些table元素 我想知道我是否可以做这样的事情 ta
  • 在WKWebview中设置useragent

    如何在 WKWebView 中设置自定义用户代理字符串 我正在尝试嵌入我的应用程序的版本 以便我的服务器端可以看到可用的功能 我找到了以下方法 let userAgent MyApp 1 33 7 request setValue user
  • Python igraph:从图中删除顶点

    我正在使用安然电子邮件数据集 并尝试删除没有 enron com 的电子邮件地址 即我只想拥有安然电子邮件 当我尝试删除那些没有 enron com 的地址时 一些电子邮件由于某些原因被跳过 下面显示了一个小图 其中顶点是电子邮件地址 这是
  • 如何在 Android 清单文件中设置文本外观?

    是否可以做相当于 setTextAppearance context android R style TextAppearance Medium 在 Android 应用程序的清单文件中 android textAppearance and
  • 在列标题和配对变量中嵌入数据的数据透视表

    假设我有这样的数据 不幸的是 变量值嵌入在列名称中 library tidyr library dplyr dat lt tribble group var1 var meta1 var2 var meta2 group1 5 2 cat
  • git 索引到底包含什么?

    Git 索引到底包含哪些内容 可以使用什么命令查看索引内容 感谢您的所有回答 我知道索引充当暂存区 提交的内容是在索引中而不是工作树中 我只是好奇索引对象由什么组成 我猜它可能是文件名 目录名 SHA 1 对的列表 也许是一种虚拟树 在 G
  • 使用 Guava 联合两个 ImmutableEnumSets

    我想联合两个ImmutableEnumSets来自番石榴 这是我的尝试 public final class OurColors public enum Colors RED GREEN BLUE YELLOW PINK BLACK pub
  • 如何隐藏显示终端命令输出

    当我运行这个命令时 sudo htpasswd b home reynolds htpasswd admin admin 我正在得到输出Updating password for user admin在终端中 但我不想显示该输出 所以我在谷
  • 使用php将文本文件转换为xml?

    data txt ha15rs 250 home2 gif 2 ha36gs 150 home3 gif 1 ha27se 300 home4 gif 4 ha4678 200 home5 gif 5 我想使用 php 使用 simplex
  • 使用节点护照进行两次不同的登录

    我对两个站点 前台站点和后台 有相同的应用程序 两个站点都需要不同的登录条件 因为后台需要将 is admin 值设置为 true 这是我的登录方法 module exports verifyCredentials function use
  • 如何将参数传递给 Symfony2 中的验证约束 - 在 yml 中

    我正在尝试向我的应用程序添加一个包范围的参数 以便我可以将其添加到我的验证约束文件 validation yml 中 myApp myBundle Entity Contact properties name NotBlank messag
  • Angular 2根据管道结果添加样式

    我不确定这是否可能 span class nav label second level text style margin left 10px partner name span class badge unreadConversation
  • sudo pip install python-Levenshtein 失败,错误代码 1

    我正在尝试在 Linux 上安装 python Levenshtein 库 但每当我尝试通过以下方式安装它时 sudo pip install python Levenshtein 我收到此错误 命令 usr bin python c 导入
  • 定义函数后对其进行修饰?

    I think答案是否定的 但我似乎找不到明确的说法 我有以下情况 def decorated function function functools wraps function def my function print Hello s