草庐IT

Python中Print()函数的用法___实例详解(全,例多)

逆境清醒 2023-06-11 原文

Python中Print()函数的用法___实例详解(全,例多)

 目 录:

一、print()函数的语法

二、print()打印输出文本

三、print()中空格的使用方法

四、Print() 换行

五、区隔符 sep

六、制表符 \t

七、输出数学表达式

八、打印输出反斜杠 \

九、print()变量的输出

十、print()数据的格式化输出

十一、Print()小例子

11.1 打印字符

11.2 九九乘法表

11.3 打印实心菱形

11.4  打印空心菱形

11.5  打印空心三角形

11.6  打印实心三角形

11.7  打印侧三角形(6种)

11.8  打印平行四边形

11.9  用字母单词 love 打印心形

11.10  用字符输出 I ❤ U (2款效果)

11.11 由Dear,I love you forever! 五个单词输出五个爱心

十二、Print()中文输入显示乱码问题

十三、Print()写入文件

 十四、print()在终端输出彩色字体

十五、Print配合函数输出

十六、Print配合 format 格式化输出(详解)


  print() 函数用于打印输出,是python中最常见的一个内置函数。

一、print()函数的语法如下:

  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 ("成事在天")

此版本适合python3.4

最新版的方法是:

谋事在人 成事在天  

(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 ="|")

运行结果

谋事在人|成事在天|有生命便有希望|

代  码

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

六、制表符 \t

制表符\t控制水平间隔,作用如tab键,在打印输出时控制间隔距离

\t表示空8个字符,
如果元素占位小于8,各列能实现完美对齐,皆大欢喜;
如果字符元素占位大于或等于8个字符,对齐会出现偏差,可以再在其中插入N个\t拼起来,这样就能使元素对齐

或者使用格式化输出,具体请看实例

代 码

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("100000101\t阿凡达\t语文\t80")
print("100000102\t卡梅隆卡梅隆\t语文\t85")
print("100000103\t莫妮卡·贝鲁卡梅隆\t语文\t85")

运行结果

 # 对齐出现偏差

代  码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()直接输出。

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
(精度为3,所以只显示.671,指定宽度为10,所以在左边补充5个空格,达到10位的字段宽度,字段宽度中,小数点也占一位)

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

页面过长,其他内容请点击下面链接

  ​Python中Print()函数的用法___实例详解(二)(全,例多)

             推荐阅读:

37Python 3D可视化(一)
36python练习题目录
35

语音识别实战(python代码)(一)

34

让你的作品更出色——词云Word Cloud的制作方法(基于python,WordCloud,stylecloud)

33python Format()函数的用法___实例详解(一)(全,例多)___各种格式化替换,format对齐打印
32Background 全属性实例图解(10种全)(一)
31Element Plus 实例详解(一)
30

​​​​​​

Vue3安装配置、开发环境搭建(组件安装卸载)(图文详细)
29​​

SVG实例详解系列(一)(svg概述、位图和矢量图区别(图解)、SVG应用实例)

28​​

查看jdk安装路径,在windows上实现多个java jdk的共存解决办法,安装java19后终端乱码的解决

27​​

别具一格,原创唯美浪漫情人节表白专辑,(复制就可用)(html5,css3,svg)表白爱心代码(1)

26​​

2023年春节祝福第二弹——送你一只守护兔,让它温暖每一个你【html5 css3】画会动的小兔子,炫酷充电,字体特

25​​

2023春节祝福系列第一弹(上)(放飞祈福孔明灯,祝福大家身体健康)(附完整源代码及资源免费下载)

24​​

HTML+CSS+svg绘制精美彩色闪灯圣诞树,HTML+CSS+Js实时新年时间倒数倒计时(附源代码)

23​​

​草莓熊python绘图(春节版,圣诞倒数雪花版)附源代码

22​​

【程序人生】卡塔尔世界杯元素python海龟绘图(附源代码),世界杯主题前端特效5个(附源码)

21​​

python爱心源代码集锦(18款)

20​​

巴斯光年python turtle绘图__附源代码

19​​

Three.js实例详解___旋转的精灵女孩(附完整代码和资源)(一)

18​​

​草莓熊python turtle绘图代码(玫瑰花版)附源代码

17​​

立体多层玫瑰绘图源码__玫瑰花python 绘图源码集锦

16​​

皮卡丘python turtle海龟绘图(电力球版)附源代码

15​​

【CSDN云IDE】个人使用体验和建议(含超详细操作教程)(python、webGL方向)

14​​

草莓熊python turtle绘图(风车版)附源代码

13​​

用代码过中秋,python海龟月饼你要不要尝一口?

12​​

《 Python List 列表全实例详解系列(一)》__系列总目录、列表概念

11​​

用代码写出浪漫__合集(python、matplotlib、Matlab、java绘制爱心、玫瑰花、前端特效玫瑰、爱心)

10​​

Python函数方法实例详解全集(更新中...)

9​​

matplotlib 自带绘图样式效果展示速查(28种,全)

8​​

手机屏幕坏了____怎么把里面的资料导出(18种方法)

7​​

2023年3月TIOBE 指数头条:编程语言 Go 进入 TIOBE 指数前 10 名,多家权威机构____编程语言排行榜__薪酬状

6​​

Python中Print()函数的用法___实例详解(全,例多)

5​​

色彩颜色对照表(一)(16进制、RGB、CMYK、HSV、中英文名)

4​​

Node.js (v19.1.0npm 8.19.3) vue.js安装配置教程(超详细)

3​​

Tomcat 启动闪退问题解决集(八大类详细)

2​​

Tomcat端口配置(详细)

1​​

tomcat11、tomcat10 安装配置(Windows环境)(详细图文)

有关Python中Print()函数的用法___实例详解(全,例多)的更多相关文章

  1. python - 如何使用 Ruby 或 Python 创建一系列高音调和低音调的蜂鸣声? - 2

    关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭4年前。Improvethisquestion我想在固定时间创建一系列低音和高音调的哔哔声。例如:在150毫秒时发出高音调的蜂鸣声在151毫秒时发出低音调的蜂鸣声200毫秒时发出低音调的蜂鸣声250毫秒的高音调蜂鸣声有没有办法在Ruby或Python中做到这一点?我真的不在乎输出编码是什么(.wav、.mp3、.ogg等等),但我确实想创建一个输出文件。

  2. ruby-on-rails - 如何使用 instance_variable_set 正确设置实例变量? - 2

    我正在查看instance_variable_set的文档并看到给出的示例代码是这样做的:obj.instance_variable_set(:@instnc_var,"valuefortheinstancevariable")然后允许您在类的任何实例方法中以@instnc_var的形式访问该变量。我想知道为什么在@instnc_var之前需要一个冒号:。冒号有什么作用? 最佳答案 我的第一直觉是告诉你不要使用instance_variable_set除非你真的知道你用它做什么。它本质上是一种元编程工具或绕过实例变量可见性的黑客攻击

  3. ruby 正则表达式 - 如何替换字符串中匹配项的第 n 个实例 - 2

    在我的应用程序中,我需要能够找到所有数字子字符串,然后扫描每个子字符串,找到第一个匹配范围(例如5到15之间)的子字符串,并将该实例替换为另一个字符串“X”。我的测试字符串s="1foo100bar10gee1"我的初始模式是1个或多个数字的任何字符串,例如,re=Regexp.new(/\d+/)matches=s.scan(re)给出["1","100","10","1"]如果我想用“X”替换第N个匹配项,并且只替换第N个匹配项,我该怎么做?例如,如果我想替换第三个匹配项“10”(匹配项[2]),我不能只说s[matches[2]]="X"因为它做了两次替换“1fooX0barXg

  4. ruby - 在没有 sass 引擎的情况下使用 sass 颜色函数 - 2

    我想在一个没有Sass引擎的类中使用Sass颜色函数。我已经在项目中使用了sassgem,所以我认为搭载会像以下一样简单:classRectangleincludeSass::Script::FunctionsdefcolorSass::Script::Color.new([0x82,0x39,0x06])enddefrender#hamlengineexecutedwithcontextofself#sothatwithintemlateicouldcall#%stop{offset:'0%',stop:{color:lighten(color)}}endend更新:参见上面的#re

  5. ruby-on-rails - 在 ruby​​ 中使用 gsub 函数替换单词 - 2

    我正在尝试用ruby​​中的gsub函数替换字符串中的某些单词,但有时效果很好,在某些情况下会出现此错误?这种格式有什么问题吗NoMethodError(undefinedmethod`gsub!'fornil:NilClass):模型.rbclassTest"replacethisID1",WAY=>"replacethisID2andID3",DELTA=>"replacethisID4"}end另一个模型.rbclassCheck 最佳答案 啊,我找到了!gsub!是一个非常奇怪的方法。首先,它替换了字符串,所以它实际上修改了

  6. ruby - 在 Ruby 中有条件地定义函数 - 2

    我有一些代码在几个不同的位置之一运行:作为具有调试输出的命令行工具,作为不接受任何输出的更大程序的一部分,以及在Rails环境中。有时我需要根据代码的位置对代码进行细微的更改,我意识到以下样式似乎可行:print"Testingnestedfunctionsdefined\n"CLI=trueifCLIdeftest_printprint"CommandLineVersion\n"endelsedeftest_printprint"ReleaseVersion\n"endendtest_print()这导致:TestingnestedfunctionsdefinedCommandLin

  7. ruby-on-rails - Rails - 从另一个模型中创建一个模型的实例 - 2

    我有一个正在构建的应用程序,我需要一个模型来创建另一个模型的实例。我希望每辆车都有4个轮胎。汽车模型classCar轮胎模型classTire但是,在make_tires内部有一个错误,如果我为Tire尝试它,则没有用于创建或新建的activerecord方法。当我检查轮胎时,它没有这些方法。我该如何补救?错误是这样的:未定义的方法'create'forActiveRecord::AttributeMethods::Serialization::Tire::Module我测试了两个环境:测试和开发,它们都因相同的错误而失败。 最佳答案

  8. ruby-on-rails - RSpec:避免使用允许接收的任何实例 - 2

    我正在处理旧代码的一部分。beforedoallow_any_instance_of(SportRateManager).toreceive(:create).and_return(true)endRubocop错误如下:Avoidstubbingusing'allow_any_instance_of'我读到了RuboCop::RSpec:AnyInstance我试着像下面那样改变它。由此beforedoallow_any_instance_of(SportRateManager).toreceive(:create).and_return(true)end对此:let(:sport_

  9. ruby-on-rails - 使用 ruby​​ 将多个实例变量转换为散列的更好方法? - 2

    我收到格式为的回复#我需要将其转换为哈希值(针对活跃商家)。目前我正在遍历变量并执行此操作:response.instance_variables.eachdo|r|my_hash.merge!(r.to_s.delete("@").intern=>response.instance_eval(r.to_s.delete("@")))end这有效,它将生成{:first="charlie",:last=>"kelly"},但它似乎有点hacky和不稳定。有更好的方法吗?编辑:我刚刚意识到我可以使用instance_variable_get作为该等式的第二部分,但这仍然是主要问题。

  10. Python 相当于 Perl/Ruby ||= - 2

    这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:Pythonconditionalassignmentoperator对于这样一个简单的问题表示歉意,但是谷歌搜索||=并不是很有帮助;)Python中是否有与Ruby和Perl中的||=语句等效的语句?例如:foo="hey"foo||="what"#assignfooifit'sundefined#fooisstill"hey"bar||="yeah"#baris"yeah"另外,类似这样的东西的通用术语是什么?条件分配是我的第一个猜测,但Wikipediapage跟我想的不太一样。

随机推荐