获取传递给函数的参数的列表/元组/字典?

2024-04-03

给定以下函数:

def foo(a, b, c):
    pass

如何获得传入参数的列表/元组/字典/等,无需自己构建结构?

具体来说,我正在寻找 JavaScript 的 Python 版本arguments关键字或 PHP 的func_get_args() method.

我是什么not寻找的是使用的解决方案*args or **kwargs;我需要在函数定义中指定参数名称(以确保它们被传入),但在函数中我想以列表或字典样式的结构使用它们。


您可以使用locals()获取函数中局部变量的字典,如下所示:

def foo(a, b, c):
    print locals()

>>> foo(1, 2, 3)
{'a': 1, 'c': 3, 'b': 2}

然而,这有点hackish,因为locals()返回本地范围内的所有变量,而不仅仅是传递给函数的参数,因此如果您不在函数的最顶部调用它,结果可能包含比您想要的更多信息:

def foo(a, b, c):
    x = 4
    y = 5
    print locals()

>>> foo(1, 2, 3)
{'y': 5, 'x': 4, 'c': 3, 'b': 2, 'a': 1}

我宁愿在函数顶部构造一个您需要的变量的字典或列表,正如其他答案中所建议的那样。恕我直言,它更明确,并以更清晰的方式传达代码的意图。

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

获取传递给函数的参数的列表/元组/字典? 的相关文章

  • SQLAlchemy 通过关联对象声明式多对多自连接

    我有一个用户表和一个朋友表 它将用户映射到其他用户 因为每个用户可以有很多朋友 这个关系显然是对称的 如果用户A是用户B的朋友 那么用户B也是用户A的朋友 我只存储这个关系一次 除了两个用户 ID 之外 Friends 表还有其他字段 因此
  • 将 saxon 与 python 结合使用

    我需要使用 python 处理 XSLT 目前我正在使用仅支持 XSLT 1 的 lxml 现在我需要处理 XSLT 2 有没有办法将 saxon XSLT 处理器与 python 一起使用 有两种可能的方法 设置一个 HTTP 服务 接受
  • 将数据从 python pandas 数据框导出或写入 MS Access 表

    我正在尝试将数据从 python pandas 数据框导出到现有的 MS Access 表 我想用已更新的数据替换 MS Access 表 在 python 中 我尝试使用 pandas to sql 但收到错误消息 我觉得很奇怪 使用 p
  • Python(Selenium):如何通过登录重定向/组织登录登录网站

    我不是专业程序员 所以请原谅任何愚蠢的错误 我正在做一些研究 我正在尝试使用 Selenium 登录数据库来搜索大约 1000 个术语 我有两个问题 1 重定向到组织登录页面后如何使用 Selenium 登录 2 如何检索数据库 在我解决
  • 从字符串中删除识别的日期

    作为输入 我有几个包含不同格式日期的字符串 例如 彼得在16 45 我的生日是1990年7月8日 On 7 月 11 日星期六我会回家 I use dateutil parser parse识别字符串中的日期 在下一步中 我想从字符串中删除
  • 根据列值突出显示数据框中的行?

    假设我有这样的数据框 col1 col2 col3 col4 0 A A 1 pass 2 1 A A 2 pass 4 2 A A 1 fail 4 3 A A 1 fail 5 4 A A 1 pass 3 5 A A 2 fail 2
  • SQLALchemy .query:类“Car”的未解析属性引用“query”

    我有一个这里已经提到的问题https youtrack jetbrains com issue PY 44557 https youtrack jetbrains com issue PY 44557 但我还没有找到解决方案 我使用 Pyt
  • 基于代理的模拟:性能问题:Python vs NetLogo & Repast

    我正在 Python 3 中复制一小段 Sugarscape 代理模拟模型 我发现我的代码的性能比 NetLogo 慢约 3 倍 这可能是我的代码的问题 还是Python的固有限制 显然 这只是代码的一个片段 但 Python 却花费了三分
  • OpenCV 无法从 MacBook Pro iSight 捕获

    几天后 我无法再从 opencv 应用程序内部打开我的 iSight 相机 cap cv2 VideoCapture 0 返回 并且cap isOpened 回报true 然而 cap grab 刚刚返回false 有任何想法吗 示例代码
  • 如何加速Python中的N维区间树?

    考虑以下问题 给定一组n间隔和一组m浮点数 对于每个浮点数 确定包含该浮点数的区间子集 这个问题已经通过构建一个解决区间树 https en wikipedia org wiki Interval tree 或称为范围树或线段树 已经针对一
  • 添加不同形状的 numpy 数组

    我想添加两个不同形状的 numpy 数组 但不进行广播 而是将 缺失 值视为零 可能最简单的例子是 1 2 3 2 gt 3 2 3 or 1 2 3 2 1 gt 3 2 3 1 0 0 我事先不知道形状 我正在弄乱每个 np shape
  • Fabric env.roledefs 未按预期运行

    On the 面料网站 http docs fabfile org en 1 10 usage execution html 给出这个例子 from fabric api import env env roledefs web hosts
  • 每个 X 具有多个 Y 值的 Python 散点图

    我正在尝试使用 Python 创建一个散点图 其中包含两个 X 类别 cat1 cat2 每个类别都有多个 Y 值 如果每个 X 值的 Y 值的数量相同 我可以使用以下代码使其工作 import numpy as np import mat
  • 对年龄列进行分组/分类

    我有一个数据框说df有一个柱子 Ages gt gt gt df Age 0 22 1 38 2 26 3 35 4 35 5 1 6 54 我想对这个年龄段进行分组并创建一个像这样的新专栏 If age gt 0 age lt 2 the
  • 如何在 Python 中追加到 JSON 文件?

    我有一个 JSON 文件 其中包含 67790 1 kwh 319 4 现在我创建一个字典a dict我需要将其附加到 JSON 文件中 我尝试了这段代码 with open DATA FILENAME a as f json obj js
  • 有人用过 Dabo 做过中型项目吗? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我们正处于一个新的 ERP 风格的客户端 服务器应用程序的开始阶段 该应用程序是作为 Python 富客户端开发的 我们目前正在评估 Dabo
  • Conda SafetyError:文件大小不正确

    使用创建 Conda 环境时conda create n env name python 3 6 我收到以下警告 Preparing transaction done Verifying transaction SafetyError Th
  • 使用其构造函数初始化 OrderedDict 以便保留初始数据的顺序的正确方法?

    初始化有序字典 OD 以使其保留初始数据的顺序的正确方法是什么 from collections import OrderedDict Obviously wrong because regular dict loses order d O
  • Scrapy:如何使用元在方法之间传递项目

    我是 scrapy 和 python 的新手 我试图将 parse quotes 中的项目 item author 传递给下一个解析方法 parse bio 我尝试了 request meta 和 response meta 方法 如 sc
  • 发送用户注册密码,django-allauth

    我在 django 应用程序上使用 django alluth 进行身份验证 注册 我需要创建一个自定义注册表单 其中只有一个字段 电子邮件 密码将在服务器上生成 这是我创建的表格 from django import forms from

随机推荐

  • 如何使 T-SQL 游标更快?

    我在 SQL Server 2000 下的存储过程中有一个游标 现在无法更新 它更新所有表 但通常需要几分钟才能完成 我需要让它更快 而 GDEPO 入口仓库 CDEPO 出口仓库 Adet 数量 E CIKAN 已使用的数量 记录说明 2
  • mySQL 获取某些行的所有可能组合

    我在 mySQL 中有一个奇怪的请求 我发现了很多方法可以通过添加更多连接来对组合对或某个其他数字执行此操作 但我想知道是否有一种动态方法可以对任意数量的组合执行此操作 解释一下我是否有一个表 table 有 1 列 column id 和
  • 无法返回json数据,WCF Restful Service .NET 4.0

    我最近使用 Entity Framework 4 0 设置了 WCF Restful 服务 它与 XML 完美配合 但是当我尝试以 json 格式返回它时 我得到了 HTTP 1 1 504 Fiddler Receive Failure
  • 精确肤色 HSV 范围

    我已经看到关于皮肤 HSV 颜色空间范围的所有问题但我只能弄清楚这个 Code CvScalar hsv min cvScalar 0 30 60 0 CvScalar hsv max cvScalar 20 150 255 0 range
  • 如何从 WC_Subscription 实例对象获取订单详细信息

    这用于完成初始订阅付款和订阅续订 function payment made subscription How do I get the order details add action woocommerce subscription p
  • 使用另一个按钮切换引导按钮下拉菜单

    当单击另一个按钮时 获取 Bootstrap 按钮下拉菜单进行切换 使列表项和下拉 ul 元素可见 时遇到一些问题 这是我到目前为止似乎不起作用的内容 v3 3 7 我想要 测试 按钮另外切换 测试 按钮下拉列表 div class btn
  • rdd后面的数字是什么意思

    rdd后面括号里的数字是什么意思 RDD后面的数字是它的标识符 Welcome to version 2 3 0 Using Scala version 2 11 8 OpenJDK 64 Bit Server VM Java 1 8 0
  • 无法使用python列出谷歌驱动器中的文件

    不确定这是否与我的代码或 Google 方面的某些内容有关 但是我可以将文件推送到驱动器 但由于某种原因我无法列出文件夹内的文件 文件夹元数据 这是我正在使用的代码 SCOPES https www googleapis com auth
  • Spring Boot - @Value 注释不起作用

    我尝试使用 SmtpAuthenticator 创建邮件服务 组件已正确启动 但用户名和密码字段中存在空值 为什么 Component public class SmtpAuthenticator extends Authenticator
  • m2e 连接器 buildhelper 与 Eclipse Juno SR1 m2e 1.2 不兼容

    Update 将解决方案移至答案 Eclipse Juno SR1 安装 m2e 插件版本 1 2 m2e 连接器buildhelperEclipse 市场提供的与此版本的 m2e 插件不兼容 我一直在浏览各种邮件列表 但找不到更新的构建帮
  • Angular2:如何操作 url 查询字符串?

    在角 1 中 有一个 location search 可以操作 URL 查询字符串的函数 Angular2 等价于什么 I tried import Location from angular2 angular2 and import UR
  • 使用 numpy 拟合数据

    我有以下数据 gt gt gt x array 3 08 3 1 3 12 3 14 3 16 3 18 3 2 3 22 3 24 3 26 3 28 3 3 3 32 3 34 3 36 3 38 3 4 3 42 3 44 3 46
  • 未接听电话的通话计费 - Twilio

    我正在使用此代码进行传出浏览器调用link https www twilio com docs quickstart php client outgoing calls 我使用的代码与链接中所示的代码相同 也使用 twiML 应用程序 我正
  • 使用经典 ASP 发送“application/soap+xml”SOAP 请求

    如有任何帮助 我们将不胜感激 我已经做了几天了 下面是我到目前为止得到的代码 不幸的是 当我运行它时 我收到 HTTP 415 错误 无法处理消息 因为内容类型为 text xml charset UTF 8 不是预期的类型 applica
  • 填充图中水平线上方和下方的区域

    我想填充两条水平线上方和下方的区域 这就是我想出的 par mfrow c 1 2 x lt seq 1 24 1 y lt rnorm 24 10 2 for i in 1 2 plot x y ylim c 4 16 lines x y
  • 如何从数据流中的PCollection读取bigQuery

    我有一个从 pubsub 获得的对象 PCollection 比如说 PCollection
  • 如何根据第 i 个字段的值对 numpy 数组进行切片?

    我有一个 2D numpy 数组 有 4 列和很多行 gt 10000 这个数字不固定 我需要创建n按其中一列的值划分子数组 我发现的最接近的问题是如何按列值对 Numpy 数组进行切片 https stackoverflow com qu
  • 无法根据中心原点旋转齿轮

    我正在尝试制作一个悬停效果 它将三个不同的 cog svg 图标旋转到其受尊重的中心原点 我尝试使用transform origin作为中心但没有运气 任何帮助 将不胜感激 下面是我的代码 cog middle transform rota
  • 如何将 pandas value_counts() 合并到数据帧或使用它来子集数据帧

    我使用 pandas df value counts 来查找特定品牌出现的次数 我想将这些价值计数与初始数据框中的各个品牌合并 df has many columns including one named brands brands df
  • 获取传递给函数的参数的列表/元组/字典?

    给定以下函数 def foo a b c pass 如何获得传入参数的列表 元组 字典 等 无需自己构建结构 具体来说 我正在寻找 JavaScript 的 Python 版本arguments关键字或 PHP 的func get args