首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >python locals()和循环

python locals()和循环
EN

Stack Overflow用户
提问于 2013-01-10 02:39:33
回答 2查看 1.1K关注 0票数 1

我在试着做一些非常简单的事情,我不知道为什么我不能解决这个问题...

我有两个参数,我只是想通过循环把它们都放到一个列表中,我使用循环的原因是因为有一天函数可能会接受很多sys.argv而不是局部变量,这就是我的意思:

代码语言:javascript
复制
def function(arg1, arg2):
    list = []
    for i in range(len(locals())):
        list.append(locals()[i])
function(1,2)

如果你明白我的意思,你能告诉我这个问题的解决方案吗?谢谢

EN

回答 2

Stack Overflow用户

发布于 2013-01-10 02:42:21

locals()是一个字典,只需使用.values()来获取所有包含的值:

代码语言:javascript
复制
list = locals().values()

但是,如果您的函数将来将使用sys.argv,请让您的函数改用位置参数:

代码语言:javascript
复制
def func(*args):
    # args is a list of arguments
    print args

func(1, 2)
票数 6
EN

Stack Overflow用户

发布于 2013-01-10 02:44:16

为了从sys.argv获取值,您需要使用locals()有什么原因吗?如果您正在解析命令行参数,可以查看argparsehttp://docs.python.org/dev/library/argparse.html

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14244162

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档