Python-带逗号的函数参数
我想在函数中有一个参数,用多个字符串填充数组,这样Python-带逗号的函数参数,python,arrays,function,Python,Arrays,Function,我想在函数中有一个参数,用多个字符串填充数组,这样 def Test(colors): colorarray = [colors] 我可以把它填满 Test(red,blue) 但是我总是得到接受2个位置参数,但3个位置参数被给出了错误,或者单个字符串未被接受(例如,TurtleColor(Color[i])告诉我“坏颜色字符串:”红色“,”蓝色“) 我知道我可以将字符串作为单独的参数传递,但我希望避免使用那么多不同的参数。您需要将输入参数作为列表来读取 def Test(*
def Test(colors):
colorarray = [colors]
我可以把它填满
Test(red,blue)
但是我总是得到接受2个位置参数,但3个位置参数被给出了错误,或者单个字符串未被接受(例如,TurtleColor(Color[i])告诉我“坏颜色字符串:”红色“,”蓝色“
)
我知道我可以将字符串作为单独的参数传递,但我希望避免使用那么多不同的参数。您需要将输入参数作为列表来读取
def Test(*colors):
colorarray = [*colors]
print(colorarray)
Test('red','blue')
您需要以列表的形式读取输入参数
def Test(*colors):
colorarray = [*colors]
print(colorarray)
Test('red','blue')
你说TurtleColor(Color[i])
抛出一个坏颜色字符串:“红色”、“蓝色”
错误,但是TurtleColor
和Color
和i
是什么?看看你是否需要将*args
元组转换成一个列表。你说TurtleColor(Color[i])
抛出一个坏颜色字符串:“红色”、“蓝色”“
错误,但什么是TurtleColor
和Color
和i
?查看是否需要将*args
元组转换为列表。这应该可以工作,如果有第二个参数,我该怎么办?”?e、 g.def Test(*颜色,大小):输入Test('red','blue',100)不起作用-告诉我它只需要一个关键字参数:'size'编辑:Test('red','blue',size=100)起作用。但令人不满意的是,我想知道我是否可以用一些syntax@FlyingThunder:如果大小始终存在,请更改顺序<代码>测试(大小,*颜色)
所以列表必须排在最后,这不应该是一个问题-我希望我不会遇到这样的情况,即我必须输入多个列表。感谢您的快速建议list(colors)
将比[*colors]
更具可读性和向后兼容性。Aran是对的,另一种选择是将颜色作为单个列表参数输入,以保持代码更干净(特别是当您有多个参数时)。但是,我建议不要使用列表(它是可变的),而是使用元组:deftest(colors,size)
,并称之为Test(('red','blue'),100)
,如果我有第二个参数该怎么办?e、 g.def Test(*颜色,大小):输入Test('red','blue',100)不起作用-告诉我它只需要一个关键字参数:'size'编辑:Test('red','blue',size=100)起作用。但令人不满意的是,我想知道我是否可以用一些syntax@FlyingThunder:如果大小始终存在,请更改顺序<代码>测试(大小,*颜色)
所以列表必须排在最后,这不应该是一个问题-我希望我不会遇到这样的情况,即我必须输入多个列表。感谢您的快速建议list(colors)
将比[*colors]
更具可读性和向后兼容性。Aran是对的,另一种选择是将颜色作为单个列表参数输入,以保持代码更干净(特别是当您有多个参数时)。但是,我建议使用元组而不是列表(它是可变的):deftest(colors,size)
,并将其称为Test(('red','blue'),100)