Python 这两种方式的输出,与传参有什么不同?
问题描述:
>>> s = "asdf"
>>> print(*s)
a s d f
>>> print(s)
asdf
>>>
答
第一个,*s是一个变长参数,在此可以理解为拆包,打印时作为多个元素空格隔开打印,而第二个是将s字串传给打印函数,只会打印出字符串。
答
用*s是把列表或者字符串柝解成print函数的多个参数,参数之间的默认以空格作分隔符
s = "asdf"
print(*s)
等于
print(s[0],s[1],s[2],s[3],s[4])
答
这个去查一下*args 和 **kwargs的区别。这里print(*s)等价于print('a','s', 'd', 'f');
参考:https://docs.python.org/3/tutorial/controlflow.html#keyword-arguments