mumei2018 发表于 2023-6-23 17:33:23

请问收集函数里的参数必须是字符串吗?


def myfunc(*args):
    print('there are {} argument.'.format(len(args)))
    print('the second argument is:{}'.format(args))
myfunc('a','b','c','d','e')

调用函数myfunc的时候传入的参数如果不是带引号的字符串就会报错 这是为什么呀

isdkz 发表于 2023-6-23 17:33:38

在Python中,函数的参数可以是任何类型,包括字符串、整数、浮点数、列表等等。在你的代码中,myfunc函数使用了可变数量的参数(*args),这意味着你可以传入任意数量的参数给函数。

在调用myfunc函数时,你传入了五个参数:'a'、'b'、'c'、'd'和'e'。这些参数都是字符串类型,所以代码能够正常运行。

如果你传入的参数不是字符串类型,而是其他类型,比如整数或者布尔值,Python会尝试将它们转换为字符串类型。然而,如果无法转换为字符串,就会抛出TypeError异常。

所以,不是必须传入带引号的字符串作为参数,但是如果传入的参数无法转换为字符串,就会报错。

mumei2018 发表于 2023-6-23 17:34:17

我自己想到了 如果传入的参数是变量的话 而变量没有被赋值 就无法打印了 所以这段代码再前面给变量赋值后 传入变量名做参数就没问题 是这样吗?

isdkz 发表于 2023-6-23 17:35:09

mumei2018 发表于 2023-6-23 17:34
我自己想到了 如果传入的参数是变量的话 而变量没有被赋值 就无法打印了 所以这

对的

mumei2018 发表于 2023-6-23 17:36:49

想半天想不出 就只好赶紧问了 结果一发帖 自己就想到了

歌者文明清理员 发表于 2023-6-23 21:11:15

mumei2018 发表于 2023-6-23 17:36
想半天想不出 就只好赶紧问了 结果一发帖 自己就想到了

建议先发到草稿里
页: [1]
查看完整版本: 请问收集函数里的参数必须是字符串吗?