dmb*_*dmb 2 python string tuples function python-2.7
我在python中有一个类似于以下的函数:
def checkargs(*args):
if len(args) == 1:
x = args
y = something
elif len(args) == 2:
x, y = args
return x, y
Run Code Online (Sandbox Code Playgroud)
当我只输入一个参数(一个字符串)时,x作为一个元组出现.当我输入两个参数(两个字符串)时,x和y作为字符串返回.如果我只输入一个参数,我怎么能把x作为字符串出来?
发生这种情况是因为args
它总是一个元组,即使你只输入一个参数.所以,当你这样做时:
x = args
Run Code Online (Sandbox Code Playgroud)
这就像做:
x = ('abc',)
Run Code Online (Sandbox Code Playgroud)
有两种(等效的)方法可以解决这个问题:显式分配x
给元组的第一个元素:
x = args[0]
Run Code Online (Sandbox Code Playgroud)
或x,y
通过分配长度为1的元组来调用分配使用的相同元组解包:
x, = args
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1175 次 |
最近记录: |