Python:将函数参数的默认值传递给 *args 或 **kwargs

2023-11-30

考虑示例:

def decorator(func):
    def wrapper(*args, **kwargs):
        print(args, kwargs)
        func(*args, **kwargs)
    return wrapper

@decorator
def foo(x, y, z=0):
    pass

foo(5, 5)

Output:

(5, 5) {}

Why not (5, 5) {'z': 0}?如何传递函数的所有默认值foo to *args or **kwargs仅使用装饰器(对于函数)或元类(对于类方法,例如__init__)?


包装器只是一个普通的函数。它无法“访问”包装函数的内部结构。

你必须通过内省来获得它们。看一个相关问题:

如何在Python中找到另一个函数中特定函数参数的默认值?

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

Python:将函数参数的默认值传递给 *args 或 **kwargs 的相关文章

随机推荐

  • 如何查找包含 的存储过程?

    我需要在 SQL Server 2008 中搜索存储过程 其中可能包含 数据库字段的名称或变量名称 SELECT ROUTINE NAME ROUTINE DEFINITION FROM INFORMATION SCHEMA ROUTINE
  • IE浏览器中的JQuery选择框焦点问题

    下面的 input 与标签匹配 该代码在所有浏览器中都可以正常工作 除了在 Internet Explorer 中 我需要单击选择框两次才能获得下拉列表 input focus function var rc this parents rc
  • 如何将密钥信息保留在 Git 存储库之外

    我的存储库中有一些文件 其中一个包含 Adafruit 秘密密钥 我想使用 Git 来存储我的存储库 但我不想发布密钥 保守秘密的最佳方法是什么 而不必每次提交和推动某件事时都将其清空 根据您想要实现的目标 您可以选择以下方法之一 将文件保
  • 使用 d3.js 在强制布局中添加和删除节点时出现问题

    我试图通过从 Zabbix API 获取数据来可视化服务器可用性 以及随后的其他事情 一旦可行 您可以在 Zabbix API 文档中的 此处 1 中查看有关返回数据的示例 获取数据不是问题 但我认为 d3 js 的数据连接遇到了一些问题
  • 为什么 SQL 查询的结果没有按照我期望的顺序返回?

    如果将项目插入表中 然后我编写一个查询 例如select from table 为什么结果与我期望的顺序不一样 可以通过在语句中使用 Order by 子句来强制查询的顺序 SQL 数据库实际上并不了解您放置内容的顺序 或者按照给定顺序存储
  • 用于检查 API 与 Android 的兼容性的 Maven 插件

    我正在寻找一个 Maven 插件 可以检查 Jar Class 文件是否符合 Android 指定的 API 级别 例如 所有类和方法都可以在 Android API 中解析吗 有人知道这样的插件吗 DX 工具似乎没有提供这样的功能 或者我
  • mysqldb ..“NoneType”对象不可下标

    这段代码在以下情况下工作正常cur execute and db commit 行被注释掉 即 如果我所做的只是打印查询 则该程序将运行 n 行 问题似乎出现在这里 player categories statistics cur fetc
  • 将电子邮件地址设置为 ASP.NET 会员提供商中的用户名

    我想在会员 api 中使用电子邮件地址作为用户名 而不是接受用户名 我希望用户可以使用电子邮件地址注册我的网站 并且可以使用电子邮件 ID 和密码而不是用户名和密码登录 这就是我们所做的 因此它是可重用的 我们可以在 web config
  • 内插 NA 值

    我有两组与时间无关的样本 我想合并它们并计算缺失值 在我不具备两者价值观的时代 简化示例 A lt cbind time c 10 20 30 40 50 60 70 80 90 100 Avalue c 1 2 3 2 1 2 3 2 1
  • mechanize 出现“内存不足”错误

    我试图从网站上一页一页地抓取一些信息 基本上这就是我所做的 import mechanize MechBrowser mechanize Browser Counter 0 while Counter lt 5000 Response Me
  • 如何以编程方式在 Windows 8.1 手机中查找 IMEI 号码?

    我正在尝试以编程方式在 Windows Phone 8 1 应用程序中查找 IMEI 号码 并且我引用了许多链接 但找不到任何明确的内容 我无法找到 Windows 8 1 手机应用程序的 Tapi dll 所以 Tapi 库有其他选择吗
  • 无法在 Mac OS 上安装任何 ruby​​ gems - SSL_connect 错误

    我的环境是Mac OS 10 10 5 ruby版本2 2 4 或2 2 2或2 2 0 gem 升级后 是2 6 7 rvm版本1 27 0 即使在过去的几天里 这也有几个重复的内容 但这比我可以在评论中添加的信息更多 在任何版本的 ru
  • 如何检查 Android 设备上的 wifi 或 3g 网络是否可用

    在这里 我的 Android 设备同时支持 wifi 和 3g 在特定时间 该设备上可用的网络 因为我的要求是3g可用时我必须上传少量数据 当 wifi 可用时 必须上传全部数据 所以 我必须检查连接是wifi还是3g 请帮我 提前致谢 我
  • 是否可以就地修改文件中的行?

    是否可以逐行解析文件 并在浏览各行时就地编辑行 是否可以逐行解析文件 并在浏览各行时就地编辑行 可以使用备份文件作为 stdlib 进行模拟fileinput module does 这是一个示例脚本 它删除不满足的行some condit
  • 使用 Mandrill 发送时是否可以指定我自己的 Message-Id 电子邮件标头?

    我正在使用 Mandrill 发送电子邮件 并且我想自己设置 Message ID 我现在看到这样的ID Message Id lt 30152892 2015031118380 email protected gt 我想做的是找出为什么
  • 尝试为 Azure Web App 添加 SSL 绑定时没有证书

    我正在尝试为作为 API 应用程序主机的 Azure Web 应用程序创建 SSL 绑定 导航到相关 Web 应用程序的 自定义域和 SSL 后 我添加了自定义域名 admin api foo com 并上传了我的通配符证书 foo com
  • C++中最随机的函数是什么? [关闭]

    Closed 这个问题需要细节或清晰度 目前不接受答案 我用过 include
  • 如何将Wordpress 中的帖子索引页面移动到另一个文件而不是index.php?

    Wordpress 中的索引页显示所有帖子 没有评论 我想让 index php 成为静态页面 不是博客 我已经这样做了 但我不知道如何将帖子索引移动到其他页面 例如 blog php 有什么建议么 创建两个新页面 博客 和 主页 在阅读设
  • Ruby 解决方案中的 Project Euler #3 超时

    我正在研究一些欧拉项目问题来练习使用 Ruby 解决问题 我针对问题 3 提出了以下解决方案 虽然它适用于较小的数字 但它似乎永远不会返回较大数字的值 这是因为与 Bignum 有关吗 有人可以向我描述为什么它超时了 以及解决这个问题的更好
  • Python:将函数参数的默认值传递给 *args 或 **kwargs

    考虑示例 def decorator func def wrapper args kwargs print args kwargs func args kwargs return wrapper decorator def foo x y