变量的Python参数

变量的Python参数,python,python-2.7,variables,arguments,Python,Python 2.7,Variables,Arguments,我是python新手,正在致力于将参数放入变量中。我试图只允许三个变量作为参数,并将它们作为字符串放入a、b和c #!/usr/bin/python import sys x = sys.argv[1:] x = ' '.join(x) if len(x) > 3: print "Only three arguments" else: print "Too many arguments" a,b,c=[[y] for y in x.split()] pr

我是python新手,正在致力于将参数放入变量中。我试图只允许三个变量作为参数,并将它们作为字符串放入
a
b
c

#!/usr/bin/python

import sys

x = sys.argv[1:]
x = ' '.join(x)
if len(x) > 3:
        print "Only three arguments"
else:
        print "Too many arguments"
a,b,c=[[y] for y in x.split()]
print a
print b
print c

因为您希望参数作为标量,所以不需要
y
周围的
[]

a,b,c = [y for y in x.split()]
但坦率地说,您甚至不需要经历加入拆分的过程-您可以将数组分配给一系列逗号分隔的标量:

a,b,c = sys.argv[1:]
类似地,不应该在连接的字符串上检查
len
,而应该在数组上检查。一个完整的例子:

#!/usr/bin/python

import sys

x = sys.argv[1:] # no joining!
if len(x) == 3:
    print "Only three arguments"
    a,b,c = x
    print a
    print b
    print c
else:
    print "Too many arguments"

以下是工作代码:

import sys

args = sys.argv[1:]
if len(args) > 3:
        print "Too many arguments"

for arg in args:
    print(arg)

如果我输入四个参数,我得到的“只有三个参数”是错误的。哦,对了,谢谢!我如何使用if来测试它,以检查它是否只有三个参数,而不是更少或更多。您只需检查
len(sys.argv)
@Iknowpython,就可以使用
=
操作符。请参阅我编辑的文章。如果少于3个参数,为什么会打印“太多参数?”?您是希望正好有3个参数,还是最多3个?
import sys

args = sys.argv[1:]
if len(args) > 3:
        print "Too many arguments"

for arg in args:
    print(arg)