python - 如何使用 exec 在函数中分配局部变量?
问题描述
我有一个带有未指定数量的输入字符串的函数,这些输入字符串旨在作为变量名。例如
def f(*args):
for arg in args:
exec('{} = 1'.format(arg))
return a
f('a', 'b')
运行代码时,我收到以下错误
NameError: name 'a' is not defined
如何为要操作或返回的函数分配局部变量?在这个类似但不同的问题中提供的解决方案需要在函数之外创建变量,即将它们添加到全局命名空间,但这不是我想要的。
解决方案
推荐阅读
- javascript - React:需要一些帮助来理解严格模式以及什么是副作用
- javascript - 无法读取未定义的属性
- apache-spark - 在 Hive 和 Spark 中将列转置为行
- validation - ASP.NET Core MVC 中的自定义条件要求验证
- amazon-web-services - Terraform 文件复制到 s3
- vue.js - 父组件中的插槽和引用模板
- json - jq:分组输入并产生分组的原始输出
- c# - 有没有办法在 Powershell 脚本中使用“Set-ACL”功能仅设置审核权限?
- python - 将 pandas df 转换为 defaultdict 并查找匹配的正数和负数
- javascript - JSX 在睡眠前不支持 usestate 函数