Print()函数的用法详解
print() 函数用于打印输出,是python中最常见的一个内置函数。
该函数的语法如下:
print(*objects, sep=' ', end='n', file=sys.stdout, flush=False)
将 "objects" 打印输出至 "file参数" 指定的文本流,以 "sep 参数"分隔开并在末尾加上 "end参数"。 "sep" 、 "end "、 "file" 和"flush" 必须以关键字参数的形式给出。 flush 关键字参数是在 phthon3.3 版后增加的。
所有非关键字参数都会被转换为字符串,就像是执行了 str() 一样,并会被写入到流,以 “sep参数“ 且在末尾加上 “end参数“。 “sep参数“ 和 “end参数“都必须为字符串;它们也可以为 “None“,这意味着使用默认值。 如果没有给出 “objects参数“,则 print() 将只写入 “end参数“。
"file 参数"必须是一个具有 write(string) 方法的对象;如果参数不存在或为 None,则将使用 sys.stdout。 由于要打印的参数会被转换为文本字符串,因此 print() 不能用于二进制模式的文件对象。 对于这些对象,应改用 file.write(...)。输出是否缓存通常取决于 file,但如果 flush 关键字参数为 True,输出流会被强制刷新。
print()打印输出文本
打印的文本内容不仅仅是指中文文本,还可以是英文文本或者包含特殊符号的文本,打印文本时需要使用引号将文本内容引起来,引号可以是单引号(' '),双引号(" "),三引号(""" """)
| 使 用 方 法 | 代 码 | 运行结果 | |
| Single quotes | 一对单引号,单引号里可以用双引号,并可以将单引号打印出来 | print('有生命便有希望') | 有生命便有希望 |
| print('"有生命便有希望"') | "有生命便有希望" | ||
| Double quotes | 一对双引号,双引号里可以用单引号,并可以将单引号打印出来 | print("永不气馁!") | 永不气馁! |
| print("'永不气馁! '") | '永不气馁! ' | ||
| Triple quoted | 一对三引号,引用多行文本 | Multilinetext=""" They who cannot do as they would, must do as they can. 不能如愿而行, 也须尽力而为。 """ print(Multilinetext) | hey who cannot do as they would, must do as they can. 不能如愿而行, 也须尽力而为。 |
print()中空格的使用方法
| 方 法 | 代 码 | 运行结果 | |
| 1 | 直接在引号中打空格,空格数不限 | print("谋事在人 成事在天 有生命便有希望") | 谋事在人 成事在天 有生命便有希望 |
| 2 | 相邻的两项用逗号间隔 | print("谋事在人","成事在天","有生命便有希望") | 谋事在人 成事在天 有生命便有希望 |
| 3 | 多行打印时用逗号结尾 | print ("谋事在人",) print ("成事在天") | 谋事在人 成事在天 (2个字符串之间有个空格) |
| 4 | 相邻的两项或多行打印时没有用逗号间隔 | print("谋事在人""成事在天") print ("谋事在人") print ("成事在天") | 谋事在人成事在天 谋事在人成事在天 |
| 5 | 字符串间不要空格 | print ("谋事在人" + "成事在天") | 谋事在人成事在天 (2个字符串之间没有空格了) |
Print() 换行
print()函数的“end”参数指定了print()函数在打印完内容之后,用什么符号来表示结尾,默认值是“n”,表示换行,即print()函数在打印完指定内容之后,就会自动换行。
我们可以通过“end”参数的定义,用其他符号来表示print()输出打印完成。例如:print()函数的“end”参数指定为“|”,即print()函数每次输出完成之后,都输出“|”。
| 强行换行 | |
| 代 码 | print("有生命n便有希望") |
| 运行结果 | 有生命 便有希望 |
| 打印后不换行,用end参数来设置你想要的结束符号 | |
| 代 码 | print("谋事在人",end =" ") print("成事在天", end =" ") print("有生命便有希望", end =" ") |
| 运行结果 | 谋事在人 成事在天 有生命便有希望 |
| 代 码 | print("谋事在人",end ="|") print("成事在天", end ="|") print("有生命便有希望", end ="|") |
| 运行结果 | 谋事在人|成事在天|有生命便有希望| |
区隔符 sep
| 用sep参数来约束print括号里多项内容之间的区隔符 | |
| 代 码 | print("谋事在人", "成事在天", "有生命便有希望", sep ="&") |
| 运行结果 | 谋事在人&成事在天&有生命便有希望 |
| 代 码 | print("www", "csdn", "net", sep=".") |
| 运行结果 | www.csdn.net |
制表符 t
| 制表符 t 控制水平间隔,作用如tab键,在打印输出时控制间隔距离 | |
| 代 码 | print("不能如愿而行t也须尽力而为") |
| 运行结果 | 不能如愿而行 也须尽力而为 |
| 代 码 | for i in range (1, 11): print(i,'t',i*2,'t',i*3,'t',i*4) |
| 运行结果 | 1 2 3 4 2 4 6 8 3 6 9 12 4 8 12 16 5 10 15 20 6 12 18 24 7 14 21 28 8 16 24 32 9 18 27 36 10 20 30 40 |
print后的括号中如果是数学表达式,则打印结果为表达式最终运算的结果
| Print 打印表达式的值 | |
| 代 码 | Print(1+2+3+4+5) |
| 运行结果 | 15 |
打印输出反斜杠
| 打印反斜杠,把2个反斜杠放一起 | |
| 代 码 | Print("不能如愿而行\也须尽力而为") |
| 运行结果 | 不能如愿而行也须尽力而为 |
print()数据的格式化输出
| 在字符串中插入 | 代 码 | 运 行 结 果 | |
| 1 | 字符串变量 | name = "逆境清醒" print("我的名字是 %s " % name) | 我的名字是 逆境清醒 |
| 2 | 整数变量 | age = 100 print("我的年龄是 %d"%(age)+"岁了") | 我的年龄是 100岁了 |
| 3 | 小数变量 | i = 2670.5 print("数字是 %f" %i) | 数字是 2670.500000 |
| %号点(.)前跟字段宽度; %号点(.)后跟精度值;字段宽度中,小数点也占一位 | i = 2.67145573 print("8位保留字段宽度%8f"%(i)) | 8位保留字段宽度2.671456 | |
| i = 2.67145573 print("保留两位小数输出的是%.2f"%(i)) | 保留两位小数输出的是2.67 | ||
| i= 2.6714563467 print("a"+'%10.3f'%i) print("a"+'%f'%i) | a 2.671 a2.671456 | ||
| 4 | s='逆境清醒' x=len(s) print('%s名字的长度是 %d' %(s,x)) | 逆境清醒名字的长度是 4 | |
| 格式输出 | 代 码 | 运行结果 | |
| %s | 输出一个字符串,字符串采用str()的显示 | i= 2.6714563467 print('%s'%i) | 2.6714563467 |
| %r | 字符串(repr())的显示 | print('%r'%repr(set([1,1,2,3]))) | '{1, 2, 3}' |
| %c | 输出一个单一的字符 | print('%c'%90) | Z |
| %e、%E | 指数(基底写e) | k= 2671.4563467284 print('%e'%k) print('%E'%k) | 2.671456e+03 2.671456E+03 |
| %b | 二进制整数 | print(bin(50)) | 0b110010 |
| %hd、%d、%ld | 以十进制、有符号的形式输出 short、int、long 类型的整数 | print('%d'%50) | 50 |
| %hu、%u、%lu | 以十进制、无符号的形式输出 short、int、long 类型的整数 | print('%u'%50 | 50 |
| %ho、%o、%lo | 以八进制、不带前缀、无符号的形式输出 short、int、long 类型的整数 | print('%o'%50) | 62 |
| %#ho、%#o、%#lo | 以八进制、带前缀、无符号的形式输出 short、int、long 类型的整数 | print('%#o'%50) | 0o62 |
| %hx、%x、%lx、 %hX、%X、%lX | 以十六进制、不带前缀、无符号的形式输出 short、int、long 类型的整数。如果 x 小写,那么输出的十六进制数字也小写;如果 X 大写,那么输出的十六进制数字也大写。 | print('%x'%50) | 32 |
| %#hx、%#x、%#lx、 %#hX、%#X、%#lX | 以十六进制、带前缀、无符号的形式输出 short、int、long 类型的整数。如果 x 小写,那么输出的十六进制数字和前缀都小写;如果 X 大写,那么输出的十六进制数字和前缀都大写。 | print('%#x'%50) print('%#X'%50) | 0x32 0x32 |
| %f、%lf 、%F | 以十进制的形式输出 float、double 类型的浮点数 | i= 2.6714563467 print('%f'%i) | 2.67146 |
| %g、%lg、 %G、%lG | 以十进制和指数中较短的形式输出 float、double 类型的小数,并且小数部分的最后不会添加多余的 0。如果 g 小写,那么当以指数形式输出时 e 也小写;如果 G 大写,那么当以指数形式输出时 E 也大写。 | i= 2.6714563467 print('%g'%i) | 2.67146 |
| 其他一些格式输出方法 | |
| 代 码 | k= 2671.4563467284 print('二进制形式''{0:b}'.format(int(k))) |
| 运行结果 | 二进制形式101001101111 |
| 代 码 | k= 2671.4563467284 print('十进制形式''{:d}'.format(int(k))) |
| 运行结果 | 十进制形式2671 |
| 代 码 | k= 2671.4563467284 print('八进制形式''{:o}'.format(int(k))) |
| 运行结果 | 八进制形式5157 |
| 代 码 | k= 2671.4563467284 print('十六进制形式''{:x}'.format(int(k))) |
| 运行结果 | 十六进制形式a6f |
| 代 码 | k= 2671.4563467284 print('数字形式''{:n}'.format(k)) |
| 运行结果 | 数字形式2671.46 |
| 代 码 | k= 2671.4563467284 print('百分数形式''{:%}'.format(k)) |
| 运行结果 | 百分数形式267145.634673% |
| 代 码 | k= 2671.4563467284 print('幂指数形式''{:e}'.format(k)) |
| 运行结果 | 幂指数形式2.671456e+03 |
| 代 码 | k= 2671.4563467284 print('十进制较短的形式输出''{:g}'.format(k)) |
| 运行结果 | 十进制和指数中较短的形式输出2671.46 |
| 代 码 | k= 2671.4563467284 print('十进制浮点数''{:f}'.format(k)) |
| 运行结果 | 十进制浮点数2671.456347 |
| 代 码 | 输出二进制数 k= 2671.4563467284 print(bin(int(k))) |
| 运行结果 | 0b101001101111 |
| 代 码 | 输出八进制数 k= 2671.4563467284 print(oct(int(k))) |
| 运行结果 | 0o5157 |
| 代 码 | 输出十六进制数 k= 2671.4563467284 print(hex(int(k))) |
| 运行结果 | 0xa6f |
| 打印字符 | |
| 代 码 | for u in range(1, 100): print('{:c}'.format(int(u)),end =" | ") |
| 运行结果 | | | | | | | | | | |
| 九九乘法表 | |
| 代 码 | for i in range(1, 10): for j in range(1, i+1): print("{}*{}={}".format(j, i, i*j), end=" ") print() |
| 运行结果 | 1*1=1 1*2=2 2*2=4 1*3=3 2*3=6 3*3=9 1*4=4 2*4=8 3*4=12 4*4=16 1*5=5 2*5=10 3*5=15 4*5=20 5*5=25 1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36 1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49 1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64 1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81 |
| 打印实心菱形 | |
| 代 码 | n=5 for i in range(1,n+1): print(" "*(n-i)+"*"*(2*i-1)) for i in range(1,n): print(" "*i+"*"*(2*(n-i)-1)) |
| 运行结果 | * *** ***** ******* ********* ******* ***** *** * |
| 打印空心菱形 | |
| 代 码 | n=5 print(" "*(n-1)+"*") for i in range(1, n): print(" "*(n-1-i)+"*"+" "*(2*i-1)+"*") for i in range(1, n-1): print(" "*i+"*"+" "*((n-1-i)*2-1)+"*") print(" "*(n-1)+"*") |
| 运行结果 | * * * * * * * * * * * * * * * * * |
| 打印空心三角形 | |
| 代 码 | n=5 print(" "*(n-1)+"*") for i in range(2, n): print(" "*(n-i)+"*"+" "*(2*(i-1)-1)+"*") print("* "*n) |
| 运行结果 | * * * * * * * * * * * * |
| 打印实心三角形 | |
| 代 码 | n=5 m = 8 for i in range(0, n): for j in range(0, m): print(end=" ") m = m - 1 for j in range(0, i + 1): print("* ", end=' ') print(" ") |
| 运行结果 | * * * * * * * * * * * * * * * |
| 打印侧三角形 | |
| 代 码 | for i in range(0,5): tx="◆" print() for k in range(0,5): if i>k: continue print(tx,end="") |
| 运行结果 | ◆◆◆◆◆ ◆◆◆◆ ◆◆◆ ◆◆ ◆ |



