我正在尝试将类似(600,)
的内容转换为600
,即将整数从元组中取出。当我定义一个带有可选参数(例如def foo( arg1, arg2, *arg)
)的函数时,如果将作为整数传递给*arg
的参数,则结果如上所示,即函数内部元组中的一个整数。 / p>
def combine(city, country, *population):
print(population)
string = combine('New York', 'United States', 50000000)
combine
函数的其余部分应提供类似New York United States, population = 10000000
的字符串
答案 0 :(得分:1)
如果您试图从元组中获取值,请像[0]
中那样使用(600,)[0]
。这将返回600
。如果您将其包含在函数或变量中,请执行与var[0]
或func()[0]
中相同的操作。如果var
和func()
返回类似(525,)
的东西,它将返回第一项,在这种情况下为525
。
有关索引和切片的更多信息,请check here :D。
要检查元组的长度,请使用len(var)
,其中var
是元组。
要检查它是否为元组,请使用isinstance(var, tuple)
,其中var
是要检查的变量,而tuple
是定义元组的类。
编辑:要获取可选参数,您需要该可选参数的默认值。假设您有一个可以打印姓名的函数,但是您也可以输入您的姓氏。请参见下面的功能:
def greeting(name, last=None):
if last is None: # check if last was given an argument
print(f'Ayy, {name}.')
else: # if last was given as an argument
print(f'Hello there, {name} {last}.')