2024-04-25 23:22:27 发布
网友
我一直在研究将数组或列表(Python倾向于调用它们)传递到函数中。
我读到一些关于使用*args的文章,比如:
def someFunc(*args) for x in args print x
但不确定这是对还是错。似乎没有什么能像我想要的那样工作。我以前能够轻松地将数组传递到PHP函数中,这让我很困惑。似乎我也做不到:
def someFunc(*args, someString)
因为它会抛出一个错误。
我想我只是把自己弄糊涂了,想找个人帮我澄清一下。
您可以像传递其他类型一样传递列表:
l = [1,2,3] def stuff(a): for x in a: print a stuff(l)
这将打印列表l。请记住,列表是作为引用传递的,而不是作为深层副本传递的。
Python列表(不仅仅是数组,因为它们的大小可以动态更改)是普通的Python对象,可以作为任何变量传递给函数。*语法用于解包列表,这可能不是您现在想要做的事情。
使用以下语法定义函数时:
你告诉它你期望的参数数目是可变的。如果要传入列表(来自其他语言的数组),请执行以下操作:
def someFunc(myList = [], *args) for x in myList: print x
你可以这样称呼它:
items = [1,2,3,4,5] someFunc(items)
您需要在变量参数之前定义命名参数,在关键字参数之前定义变量参数。你也可以这样做:
def someFunc(arg1, arg2, arg3, *args, **kwargs) for x in args print x
它至少需要三个参数,并支持其他参数和关键字参数的可变数目。
您可以像传递其他类型一样传递列表:
这将打印列表l。请记住,列表是作为引用传递的,而不是作为深层副本传递的。
Python列表(不仅仅是数组,因为它们的大小可以动态更改)是普通的Python对象,可以作为任何变量传递给函数。*语法用于解包列表,这可能不是您现在想要做的事情。
使用以下语法定义函数时:
你告诉它你期望的参数数目是可变的。如果要传入列表(来自其他语言的数组),请执行以下操作:
你可以这样称呼它:
您需要在变量参数之前定义命名参数,在关键字参数之前定义变量参数。你也可以这样做:
它至少需要三个参数,并支持其他参数和关键字参数的可变数目。
相关问题 更多 >
编程相关推荐