目录
一:print语法
二:print结尾参数end用法
三:print分隔符参数sep用法
四:print固定宽度字符输出
一:print语法
print(*objects, sep=' ', end='\n', file=sys.stdout, flush=False)
参数解释:
"objects":要打印的对象,将打印输出至 "file参数" 指定的文本流,大部分使用就只用到了这个参数;
"sep":以"sep"分隔开;
"end":在打印输出的后面以"end"参数结尾;
"file":将打印输出到文件,file必须是一个具有 write(string) 方法的对象;如果参数不存在或为 None,则将使用 sys.stdout。 由于要打印的参数会被转换为文本字符串,因此 print() 不能用于二进制模式的文件对象。 对于这些对象,应改用 file.write(...)。输出是否缓存通常取决于 file;
"flush":如果 flush 关键字参数为 True,输出流会被强制刷新。
"sep" 、 "end "、 "file" 和"flush" 必须以关键字参数的形式给出。 flush 关键字参数是在 phthon3.3 版后增加的。
>>> print("my name is ftz ",sep=' ',end='end结尾\n')
my name is ftz end结尾
>>>
>>> logFile = open("logfile.txt",'w')
>>> print("my name is ftz ",sep=' ',end='end结尾\n',file=logFile)
执行了三次默认是追加
[root]$ cat logfile.txt
my name is ftz end结尾
my name is ftz end结尾
my name is ftz end结尾
二:print结尾参数end用法
print打印默认是换行的,那是因为end参数默认就是'\n',如果想在每个打印的末尾加一个定制的符号,可以使用end参数,例如:print()函数的“end”参数指定为“|”,即print()函数每次输出完成之后,结尾都输出"|"
>>> print("默认换行")
默认换行
>>> print("不换行打印",end="")
不换行打印>>>
>>> print("以竖线结尾打印",end="|\n")
以竖线结尾打印|
>>>
三:print分隔符参数sep用法
sep参数一般情况下用的不多,但是在特殊场景还是能派上用场,比如网址都是以‘.’进行分割,或者路径以'/',或者ip地址等等以特定字符进行分割的都能使用
>>> print('192','168','1','1',sep='.')
192.168.1.1
>>>
>>> print('www','baidu','com',sep='.')
www.baidu.com
>>>
>>> print("F:",'file','work',sep='/')
F:/file/work
>>>
四:print固定宽度字符输出
当我们要输出一系列结果,但是中间字符不固定的情况下,如果是正常输出会出现错乱的情况,看上去也不美观,print允许我们以固定字符宽度和左右对齐的方式进行输出
比如如下输出
学生总数=22 学生名字重复数=29
学生总数=54 学生名字重复数=58
学生总数=455 学生名字重复数=287
学生总数=455 学生名字重复数=287
学生总数=2884 学生名字重复数=1579
学生总数=427 学生名字重复数=207
学生总数=1011 学生名字重复数=67
学生总数=427 学生名字重复数=208
学生总数=427 学生名字重复数=103
学生总数=2276 学生名字重复数=417
学生总数=0 学生名字重复数=0
学生总数=52 学生名字重复数=0
学生总数=52 学生名字重复数=0
学生总数=1522 学生名字重复数=1303
学生总数=0 学生名字重复数=0
学生总数=1558 学生名字重复数=1143
学生总数=454 学生名字重复数=286
学生总数=4 学生名字重复数=0
学生总数=11 学生名字重复数=12
我们先介绍一下字符宽度,字符宽度是指输出中每个字符所占的宽度。在默认情况下,每个字符的宽度是相等的。但在某些情况下,我们希望输出中的字符具有不同的宽度,以获得更好的视觉效果。例如,我们可能希望在输出表格时,各列的宽度是相等的,以便对齐数据。
示例的对齐代码如下:
print(f"学生总数={student:<15} 学生名字重复数={count:<20}")
我们使用了"<“符号来指定左对齐。如果要右对齐,可以使用”>"符号。
我们也可以用以上方法输出表格形式的
data = [["Alice", 25, "Female"],["Bob", 30, "Male"],["Charlie", 35, "Male"]
]# 计算每列的最大宽度
max_widths = [max(len(str(row[i])) for row in data) for i in range(len(data[0]))]# 输出表头
header = ["Name", "Age", "Gender"]
header_format = " | ".join(f"{{:<{width}s}}" for width in max_widths)
print(header_format.format(*header))
print("-" * sum(max_widths))# 输出数据
for row in data:row_format = " | ".join(f"{{:<{width}}}" for width in max_widths)print(row_format.format(*row))
输出结果: