当前位置:首页 >> 脚本专栏

深入浅析python变量加逗号,的含义

逗号,用于生成一个长度为1的元组

> (1)
1
> (1,)
(1,)
> 1,
(1,)

因此需要将长度为1的元组中元素提取出来可以用,简化赋值操作

> a=(1,)
> b=a
> b
(1,)
> b,=a
> b
1

最后print打印变量加,实现连续打印不换行的操作在python3中行不通了

Python 3.7.3 (default, Nov 15 2019, 04:04:52) 
[Clang 11.0.0 (clang-1100.0.33.16)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
> for i in range(0,5):
... print(i)
... 
0
1
2
3
4
> for i in range(0,5):
... print(i,)
... 
0
1
2
3
4

ps:下面看下Python中逗号的妙用

闲着没事打算用Python刷一遍pat,输出过程中遇到了一个这样的问题:

题目1002题目要求 在一行内输出n的各位数字之和的每一位,拼音数字间有1 空格,但一行中最后一个拼音数字后没有空格,

但是Python中print语句默认会在后面加上换行符,加了逗号之后 巧妙的将换行变成了空格

附上1002代码:

#!/usr/bin/python
import sys
n = int(sys.argv[1])
count =0
while n!=0:
 count = count + n%10
 n = n/10
ans=[ ]
while count!=0:
 ans.insert(0,count%10)
 count=count/10
dic = {0:"ling", 1:"yi", 2:"er", 3:"san", 4:"si", 5:"wu", 6:"liu", 7:"qi", 8:"ba", 9:"jiu"}
for i in range(len(ans)):
 print dic[ans[i]],

逗号在类型转换中主要是元组的转换,只有当元组中只有一个元素的时候,需要逗号来转换为元组类型:

如:b=(11,) #b为一个元组,且元素只有一个

总结