为什么这种使用fucntions参数的方法不起作用?

时间:2018-02-05 03:03:23

标签: python python-3.x

为什么此功能会打印arg1 arg2而不是Hello world?不应该等于参数arg1和arg2然后在print()中使用吗?

def printer(arg1, arg2):
    for i in range(2):
        arg = 'arg{} '.format(str(i+1))
        print(arg, end="")

printer('Hello', 'world')

3 个答案:

答案 0 :(得分:1)

您正在尝试打印字符串,而不是您的参数。如果需要遍历函数参数,可以执行以下操作:

代码:

def printer(*args):
    for arg in args:
        print(arg, end="")

printer('Hello', 'world')

结果:

Helloworld

答案 1 :(得分:1)

您可以使用graphql-request访问当前的本地范围:

locals()

答案 2 :(得分:-1)

@kindle是对的。你正在制作一个字符串变量。而Stephen Rauch的回答是一种更好的方式来实现你想要的东西。

但是,可以使用eval函数将Python作为代码进行评估。您可以通过更改

获得预期的效果
print(arg, end="")

print(eval(arg), end="")