Python 我的函数出于某种原因自动将字符串转换为元组?

Python 我的函数出于某种原因自动将字符串转换为元组?,python,string,function,tuples,Python,String,Function,Tuples,我在这里很困惑。我试图向我的函数传递一个可选的字符串参数,但一旦添加了该参数,它就会将字符串转换为元组?我如何才能阻止它这样做或转换回来 我有这个: def fen2grid(note, *optional) print(optional) # here it does other stuff 我称之为: fen2grid(example, '.') 现在。。。打印应该打印一个句号。只是 这只是我在函数中使用它之前的一个测试,我正在测试它似乎是件好事 (‘.,) 我需要句号,

我在这里很困惑。我试图向我的函数传递一个可选的字符串参数,但一旦添加了该参数,它就会将字符串转换为元组?我如何才能阻止它这样做或转换回来

我有这个:

def fen2grid(note, *optional)
    print(optional)
    # here it does other stuff
我称之为:

fen2grid(example, '.')
现在。。。打印应该打印一个句号。只是 这只是我在函数中使用它之前的一个测试,我正在测试它似乎是件好事

(‘.,)

我需要句号,因为我需要使用它(它也可以是任何其他符号)


任何帮助都将不胜感激

*args
读取任意数量的参数并将其作为元组封装。要访问它们,您只需执行
print(args[0])
[在args中为x打印(x)]

编辑:请记住,args或kwargs都不是关键字,您可以将它们替换为前面有*或*的任何其他占位符**

我正在尝试向函数传递可选的字符串参数

*可选的
不太适合您这样做。至少不是像您尝试使用的默认/关键字参数。这是一个元组

试一试


有关更多详细信息,请参阅。

谢谢,这是有效的,我不知道它是如何工作的。在我看来,它就像一个列表,我们使用的是索引0。这就清楚了!请参阅我的更新中的链接。“默认参数值”如果其中一个答案,请通过点击答案左边的复选标记/滴答来考虑,将其变为绿色。这标志着问题已解决,令您满意,并奖励您和回答者。一旦你获得>=15个声望点,如果你愿意,你也可以对答案进行投票。也没有义务这样做。
def fen2grid(note, optional=None)
    print(optional)