这篇文章主要介绍“Python中Print()函数怎么使用”,在日常操作中,相信很多人在Python中Print()函数怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Python中Print()函数怎么使用”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
print() 函数用于打印输出,是python中最常见的一个内置函数。
将 "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,输出流会被强制刷新。
打印的文本内容不仅仅是指中文文本,还可以是英文文本或者包含特殊符号的文本,打印文本时需要使用引号将文本内容引起来,引号可以是单引号(' '),双引号(" "),三引号(""" """)
使 用 方 法 | 代 码 | 运行结果 | |
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. 不能如愿而行, 也须尽力而为。 |
方 法 | 代 码 | 运行结果 | |
1 | 直接在引号中打空格,空格数不限 | print("谋事在人 成事在天 有生命便有希望") | 谋事在人 成事在天 有生命便有希望 |
2 | 相邻的两项用逗号间隔 | print("谋事在人","成事在天","有生命便有希望") | 谋事在人 成事在天 有生命便有希望 |
3 | 多行打印时用逗号结尾 | print ("谋事在人",) print ("成事在天") | 谋事在人 成事在天 (2个字符串之间有个空格) |
4 | 相邻的两项或多行打印时没有用逗号间隔 | print("谋事在人""成事在天") print ("谋事在人") print ("成事在天") | 谋事在人成事在天 谋事在人成事在天 |
5 | 字符串间不要空格 | print ("谋事在人" + "成事在天") | 谋事在人成事在天 (2个字符串之间没有空格了) |
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 ="|") |
运行结果 | 谋事在人|成事在天|有生命便有希望| |
代 码 | 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参数来约束print括号里多项内容之间的区隔符 | |
代 码 | print("谋事在人", "成事在天", "有生命便有希望", sep ="&") |
运行结果 | 谋事在人&成事在天&有生命便有希望 |
代 码 | print("www", "csdn", "net", sep=".") |
运行结果 | www.csdn.net |
制表符\t控制水平间隔,作用如tab键,在打印输出时控制间隔距离 \t表示空8个字符, 或者使用格式化输出,具体请看实例 | |
代 码 | 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 |
代 码 | name = 'Adversity awake' saying="Man proposes, god disposes 谋事在人,成事在天" print(name.title()+" once said"+": "+'\n\t"'+saying+'"') |
运行结果 | Adversity Awake once said: "Man proposes, god disposes 谋事在人,成事在天" |
代 码 | #错误print()效果距离: print("学生号\t姓名\t科目\t分数") |
运行结果 | # 对齐出现偏差 |
代 码 | print("学生号\t\t姓名\t\t\t\t\t科目\t\t分数") print("100000101\t阿凡达\t\t\t\t\t语文\t\t80") print("100000102\t卡梅隆卡梅隆\t\t\t语文\t\t85") print("100000103\t莫妮卡·贝鲁卡梅隆\t\t语文\t\t85") |
运行结果 | #用多个制表符,对齐完好 |
代 码 | print("%-10s\t %-30s\t %-10s\t %-10s"%("学生号","姓名","科目","分数")) print("%-10s\t %-32s\t %-10s\t %-12s"%("100000101","阿凡达","语文","80")) print("%-10s\t %-30s\t %-10s\t %-12s"%("100000102","卡梅隆卡梅隆","语文","82")) print("%-10s\t %-26s\t %-10s\t %-12s"%("100000103","莫妮卡·贝鲁卡梅隆","语文","85")) |
运行结果 | #对齐完好 |
编外话:有时需要对齐输出,还可以使用format()来实现:
代 码 | products=[["iphone",6888],["MacPro",14800],["coffee",32],["abc",2499],["Book",60],["Nike",699],["MacPro",45600],["coffee",432],["abc",244499],["Book",6230],["Nike",61299],["MacPro",14800],["coffee",32],["abc",2499],["Book",60],["Nike",699]] print("-"*10+"商品列表"+"-"*10) i=0 for product in products: print('{:<6}\t{:<10}\t{:<10}'.format(str(i), product[0], str(product[1]))) i = i+1 |
运行结果 | |
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()变量的输出 | |
代 码 | #输出数值型变量 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} |
在字符串中插入 | 代 码 | 运 行 结 果 | |
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 |
打印字符 | |
代 码 | 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(" ") |
运行结果 | * * * * * * * * * * * * * * * |
打印侧三角形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('\n'.join('◆' * i for i in range(1, n + 1))) | |
运行结果 | ◆ ◆◆ ◆◆◆ ◆◆◆◆ ◆◆◆◆◆ |
打印侧三角形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 |
运行结果 | ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ |
打印平行四边形 | |
代 码 | l = 5 for i in range(l): for j in range(l-i): print(end=' ') for k in range(l): print(end='◆') print() |
运行结果 | ◆◆◆◆◆ ◆◆◆◆◆ ◆◆◆◆◆ ◆◆◆◆◆ ◆◆◆◆◆ |
用字母单词打印心形 | |
代 码 | print('\n'.join([''.join([('Love'[(x-y) % len('Love')] if ((x*0.05)**2+(y*0.1)**2-1)**3-(x*0.05)**2*(y*0.1)**3 <= 0 else ' ') for x in range(-30, 30)]) for y in range(30, -30, -1)])) |
运行结果 | |
用字符输出 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 |
输出五个爱心,分别由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('\n'.join(allChar)) time.sleep(1) | |
如果代码中有汉字中文,运行的时候python报错,出现python中无法正常输入中文,乱码等情况:
编译提示:SyntaxError: (unicode error) 'utf-8' codec can't decode byte 0x*** in position 0: ...
主要是由于编码的问题引起的。
受开发系统和环境不同影响,解决办法会有所不同,但一般按以下办法处理就能解决,有需要者请自行尝试适合自己系统的解决办法:(记住,下面的方法不需要全部添加到python文件中,选择其中一项或两项尝试,能解决问题即可)
在你的python文件(.py)文件第一行
1、开头加入
# coding=utf-8
2、或者开头加入
#-*- coding: UTF-8 -*-
3、或者开头加入
#!usr/bin/env python3
# -*- coding:utf-8 -*-
4、或者开头加上
# -*-coding:GBK -*-
5、或者开头加上
#coding=utf-8
import sys
reload(sys)
sys.setdefaultencoding("utf-8")
6、改变标准输出print()的默认编码
sys.stdout = io.TextIOWrapper(sys.stdout.buffer,encoding='gb18030')
平时开发python时注意:
1、如果你用pycharm编译书写python代码,pycharm默认是会自动保存为UTF-8格式的,如果你无意中修改过,请在pycharm工作界面右键—File-Encoding–选择UTF-8编码----reload-----reload anyway。如果还是不行,试一下路径改为全英文。
2、如果你用其他编译书写代码工具,请点击
文档>>设置文件编码>>Unicode>>Unicode(UTF-8)
3、如果你用visual studio 编译书写python代码,
visual studio 2022下python编程,报错:SyntaxError: (unicode error) 'utf-8' codec can't decode byte 0xc8 in position 0: invalid continuation byte
解决办法:
把Visual studio的文件保存编码改为UTF-8:
---->Unicode(UTF-8带签名)-代码页65001
visual studio其他版本在文件菜单选项里选“高级保存选项”
---->Unicode(UTF-8带签名)-代码页65001
设置工程字符集为utf-8,选择工程----右键----属性----加上字符集编码
题外话:
在用matplotlib(pyplot)图表制作时,标题和坐标轴中文显示会出现异常,出现小方框,无法正常显示,这时,只需在文件头部加入以下代码即可:
#-*- coding: UTF-8 -*- import matplotlib.pyplot as plt import matplotlib as mpl mpl.rcParams["font.sans-serif"]=["SimHei"] mpl.rcParams["axes.unicode_minus"]=False |
将print的内容写入文件。
有时候,我们会遇到希望print的内容不止打印屏幕上,还能保存在文件中。那么,我们可以试着将print的内容写入文件,方法如下:
建立test.py文件,输入:
写入文件 | |
代 码 | # coding=utf-8 print("Hello, World!", file=open('file.txt', 'w')) |
运行结果 | 运行后,在test.py文件所在的目录中,出现了一个file.txt文件,打开file.txt文件,会发现里面的内容是: Hello, World! 说明我们的print()写入文件成功。 |
写入文件 | |
代 码 | for i in range (1, 11): print(i,'\t',i*2,'\t',i*3,'\t',i*4,end='\n',file=open('file.txt',mode ='a',encoding='utf-8'), flush=False) |
运行结果 | 运行后,打开file.txt文件,会发现里面的内容是: 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()写入文件成功。 |
到此,关于“Python中Print()函数怎么使用”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。