Python中Print()函数用法的实例详解
本篇文章给大家带来了关于Python的相关知识,其中主要介绍了关于print()函数用法的相关知识,print() 函数用于打印输出,是python中最常见的一个内置函数,下面一起来看一下,希望对大家有帮助。
程序员必备接口测试调试工具:立即使用
Apipost = Postman + Swagger + Mock + Jmeter
Api设计、调试、文档、自动化测试工具
后端、前端、测试,同时在线协作,内容实时同步
【相关推荐:Python3视频教程 】
print() 函数用于打印输出,是python中最常见的一个内置函数。
一、print()函数的语法如下:
print(*objects, sep=' ', end='
', 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()函数在打印完内容之后,用什么符号来表示结尾,默认值是“
”,表示换行,即print()函数在打印完指定内容之后,就会自动换行。
我们可以通过“end”参数的定义,用其他符号来表示print()输出打印完成。例如:print()函数的“end”参数指定为“|”,即print()函数每次输出完成之后,都输出“|”。
强行换行 |
|
代 码 |
print("有生命 |
运行结果 |
有生命 便有希望 |
打印后不换行,用end参数来设置你想要的结束符号 |
|
代 码 |
print("谋事在人",end =" ") print("成事在天", end =" ") print("有生命便有希望", end =" ") |
运行结果 |
谋事在人 成事在天 有生命便有希望 |
代 码 |
print("谋事在人",end ="|") print("成事在天", end ="|") print("有生命便有希望", end ="|") |
运行结果 |
谋事在人|成事在天|有生命便有希望| |
代 码 |
for x in range(0, 6): print(x, end=' ') for x in range(0, 6): print(x, end=',') |
运行结果 |
0 1 2 3 4 5 0,1,2,3,4,5, |
代 码 |
for x in range(1, 6): print(x, end=' ') print() for x in range(1, 6): print(x, end=',') print() |
运行结果 |
1 2 3 4 5 1,2,3,4,5, |
五、区隔符 sep
用sep参数来约束print括号里多项内容之间的区隔符 |
|
代 码 |
print("谋事在人", "成事在天", "有生命便有希望", sep ="&") |
运行结果 |
谋事在人&成事在天&有生命便有希望 |
代 码 |
print("www", "csdn", "net", sep=".") |
运行结果 |
www.csdn.net |
六、制表符
制表符 控制水平间隔,作用如tab键,在打印输出时控制间隔距离 表示空8个字符, 或者使用格式化输出,具体请看实例 |
|
代 码 |
print("不能如愿而行 也须尽力而为") |
运行结果 |
不能如愿而行 也须尽力而为 |
代 码 |
for i in range (1, 11): print(i,' ',i*2,' ',i*3,' ',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 |
代 码 |
name = 'Adversity awake' saying="Man proposes, god disposes 谋事在人,成事在天" print(name.title()+" once said"+": "+' |
运行结果 |
Adversity Awake once said: "Man proposes, god disposes 谋事在人,成事在天" |
代 码 |
#错误print()效果距离: print("学生号 姓名 科目 分数") |
运行结果 |
# 对齐出现偏差 |
# 对齐出现偏差 |
|
代 码 | print("学生号 姓名 科目 分数") print("100000101 阿凡达 语文 80") print("100000102 卡梅隆卡梅隆 语文 85") print("100000103 莫妮卡·贝鲁卡梅隆 语文 85") |
运行结果 |
#用多个制表符,对齐完好 |
#用多个制表符,对齐完好 |
|
代 码 | print("%-10s %-30s %-10s %-10s"%("学生号","姓名","科目","分数")) print("%-10s %-32s %-10s %-12s"%("100000101","阿凡达","语文","80")) print("%-10s %-30s %-10s %-12s"%("100000102","卡梅隆卡梅隆","语文","82")) print("%-10s %-26s %-10s %-12s"%("100000103","莫妮卡·贝鲁卡梅隆","语文","85")) |
运行结果 |
#对齐完好 |
编外话:有时需要对齐输出,还可以使用format()来实现:
编外话:有时需要对齐输出,还可以使用format()来实现:
七、输出数学表达式
print后的括号中如果是数学表达式,则打印结果为表达式最终运算的结果
Print 打印表达式的值 |
|
代 码 |
Print(1+2+3+4+5) |
运行结果 |
15 |
代 码 |
print(8/1) |
运行结果 |
8.0 |
代 码 |
print(2*4) |
运行结果 |
8 |
代 码 |
print(18-10) |
运行结果 |
8 |
代 码 |
print(2+6) |
运行结果 |
8 |
八、打印输出反斜杠
打印反斜杠,把2个反斜杠放一起 |
|
代 码 |
Print("不能如愿而行\也须尽力而为") |
运行结果 |
不能如愿而行也须尽力而为 |
九、print()变量的输出
无论什么类型的数据,包括但不局限于:数值型,布尔型,列表变量,字典变量……都可以通过print()直接输出。
print()变量的输出 |
|
代 码 |
#输出数值型变量 num = 91682 print(num) |
运行结果 |
91682 |
代 码 |
#输出字符串变量 name = '逆境清醒' print(name) |
运行结果 |
逆境清醒 |
代 码 |
#输出列表变量 list = [1,2,3,4,5,'a','b','c'] print(list) |
运行结果 |
[1, 2, 3, 4, 5, 'a', 'b', 'c'] |
代 码 |
#输出元组变量 tuple = (1,2,3,4,5,'a','b','c') print(tuple) |
运行结果 |
(1, 2, 3, 4, 5, 'a', 'b', 'c') |
代 码 |
#输出字典变量 dict ={'a':1, 'b':2,'c':3} print(dict) |
运行结果 |
{'a': 1, 'b': 2, 'c': 3} |
十、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 |
英文大小写转换(title()首字母大写,upper()全大写,lower()全小写) |
|
代 码 |
name = 'Adversity awake' print(name.title()) |
运行结果 |
Adversity Awake |
代 码 |
name = 'Adversity awake' print(name.upper()) |
运行结果 |
ADVERSITY AWAKE |
代 码 |
name = 'Adversity awake' print(name.lower()) |
运行结果 |
adversity awake |
十一、Print()小例子
11.1 打印字符
打印字符 |
|
代 码 |
for u in range(1, 100): print('{:c}'.format(int(u)),end =" | ") |
运行结果 |
| | | | | | | | | |
11.2 九九乘法表
九九乘法表 |
|
代 码 |
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 |
11.3 打印实心菱形
打印实心菱形 |
|
代 码 |
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)) |
运行结果 |
* *** ***** ******* ********* ******* ***** *** * |
11.4 打印空心菱形
打印空心菱形 |
|
代 码 |
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)+"*") |
运行结果 |
* * * * * * * * * * * * * * * * * |
11.5 打印空心三角形
打印空心三角形 |
|
代 码 |
n=5 print(" "*(n-1)+"*") for i in range(2, n): print(" "*(n-i)+"*"+" "*(2*(i-1)-1)+"*") print("* "*n) |
运行结果 |
* * * * * * * * * * * * |
11.6 打印实心三角形
打印实心三角形 |
|
代 码 |
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(" ") |
运行结果 |
* * * * * * * * * * * * * * * |
11.7 打印侧三角形(6种)
打印侧三角形1 |
|
代 码 |
方法一: i = 5 while 0 < i <= 5: j = 1 while j <= i: print("* ", end = '') j += 1 print(" ") i -= 1 |
方法二: for i in range(0,5): tx="◆" print() for k in range(0,5): if i>k: continue print(tx,end="") |
|
运行结果 |
◆◆◆◆◆ ◆◆◆◆ ◆◆◆ ◆◆ ◆ |
打印侧三角形2 |
|
代 码 |
方法一: i = 1 while i <= 5: j = 1 while j <= i: print("* ", end = '') j += 1 print(" ") i += 1 |
方法二: n = 5 print(' |
|
运行结果 |
◆ ◆◆ ◆◆◆ ◆◆◆◆ ◆◆◆◆◆ |
打印侧三角形3 |
|
代 码 |
for i in range(0,5): tx='◆' tx1=' ' print() for j in range(0,5): print(tx if i<=j else tx1,end="") |
运行结果 |
◆◆◆◆◆ ◆◆◆◆ ◆◆◆ ◆◆ ◆ |
打印三角形4 |
|
代 码 |
for i in range(0,5): tx='◆' tx1=' ' print() for j in range(0,5): print(tx if i<=j else tx1,end="") |
运行结果 |
◆◆◆◆◆ ◆◆◆◆ ◆◆◆ ◆◆ ◆ |
打印三角形5 |
|
代 码 |
l=5 for i in range(l): for j in range(i): print(end=' ') for k in range(2*(l-i)-1): print(end='◆') print() |
运行结果 |
◆◆◆◆◆◆◆◆◆ ◆◆◆◆◆◆◆ ◆◆◆◆◆ ◆◆◆ ◆ |
打印三角形6 |
|
代 码 |
i = 1 while i <= 9: if i <= 5: print('◆ '*i) else: print('◆ '*(10 – i)) i += 1 |
运行结果 |
◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ |
11.8 打印平行四边形
打印平行四边形 |
|
代 码 |
l = 5 for i in range(l): for j in range(l-i): print(end=' ') for k in range(l): print(end='◆') print() |
运行结果 |
◆◆◆◆◆ ◆◆◆◆◆ ◆◆◆◆◆ ◆◆◆◆◆ ◆◆◆◆◆ |
11.9 用字母单词 love 打印心形
用字母单词打印心形 |
|
代 码 |
print(' |
运行结果 |
|
11.10 用字符输出 I ❤ U (2款效果)
用字符输出 I 爱 U (2款效果) |
import time y = 2.5 while y>=-1.6: x = -3.0 while x<=4.0: if (x*x+y*y-1)**3<=3.6*x*x*y*y*y or (x>-2.4 and x<-2.1 and y<1.5 and y>-1) or (((x<2.5 and x>2.2)or(x>3.4 and x<3.7)) and y>-1 and y<1.5) or (y>-1 and y<-0.6 and x<3.7 and x>2.2): print(' ',end="") else: print('*',end="") x += 0.1 print() time.sleep(0.25) y -= 0.2 |
import time y = 2.5 while y>=-1.6: x = -3.0 while x<=4.0: if (x*x+y*y-1)**3<=3.6*x*x*y*y*y or (x>-2.4 and x<-2.1 and y<1.5 and y>-1) or (((x<2.5 and x>2.2)or(x>3.4 and x<3.7)) and y>-1 and y<1.5) or (y>-1 and y<-0.6 and x<3.7 and x>2.2): print('*',end="") else: print(' ',end="") x += 0.1 print() time.sleep(0.25) y -= 0.2 |
11.11 由Dear,I love you forever! 五个单词输出五个爱心
输出五个爱心,分别由Dear I love you forever! 五个单词填充而成。 |
|
import time sentence = "Dear, I love you forever!" for char in sentence.split(): allChar = [] for y in range(12, -12, -1): lst = [] lst_con = '' for x in range(-30, 30): formula = ((x*0.05)**2+(y*0.1)**2-1)**3-(x*0.05)**2*(y*0.1)**3 if formula <= 0: lst_con += char[(x) % len(char)] else: lst_con += ' ' lst.append(lst_con) allChar += lst print(' time.sleep(1) |
|
十二、Print()中文输入显示乱码问题
如果代码中有汉字中文,运行的时候python报错,出现python中无法正常输入中文,乱码等情况:
编译提示:SyntaxError: (unicode error) 'utf-8' codec can't decode byte 0x*** in position 0: …
主要是由于编码的问题引起的。
受开发系统和环境不同影响,解决办法会有所不同,但一般按以下办法处理就能解决,有需要者请自行尝试适合自己系统的解决办法:(记住,下面的方法不需要全部添加到python文件中,选择其中一项或两项尝试,能解决问题即可)
在你的python文件(.py)文件第一行
1、开头加入
# coding=utf-8
登录后复制