我只是注意到一些奇怪的东西
在python中,如果我这样做
>>> k = 1
>>> j = 2
>>> print k,",",j
1 , 2 # prints this
Run Code Online (Sandbox Code Playgroud)
我希望它会是:
1,2
Run Code Online (Sandbox Code Playgroud)
为什么这两者之间有空间,而
>>> print str(k) + "," + str(j)
1,2
Run Code Online (Sandbox Code Playgroud)
谢谢
第一个示例print直接传递3个参数,然后将它们转换为字符串并将它们连接在一起,用空格分隔.第二个示例首先转换并连接字符串,然后将整个字符串print作为单个参数传递.如果你要这样做print str(k), ",", str(j),你会得到与第一个例子相同的结果.
考虑print功能如何工作而不是关键字.例如,采取:
def foo(*args):
return ' '.join(map(str, args))
Run Code Online (Sandbox Code Playgroud)
foo('a', 'b', 'c')将传递foo 3参数,然后返回由空格连接的3个参数'a b c'. foo('a' + 'b' + 'c')将首先创建字符串'abc',然后将其作为单个参数传递给foo,从而导致foo返回'abc'.
| 归档时间: |
|
| 查看次数: |
87 次 |
| 最近记录: |