首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Python编程第2课,打印输出函数print,17个案例详解5个参数

先说说第1课作业的答案。

1、Python编写的源程序扩展名为( A)。

A. py B. cpp C. doc D. mp4

2、阅读程序写结果。

print("1+1")

图2.1

第1题选A,这个没问题,可是第2题,有初学者掉“坑”里了,如图2.1所示,这就说明对于print打印输出函数不理解,正确答案应该就是显示:1+1,所以第2课,我们重点来了解print()函数。

一、print语法格式

打开Python的IDLE,输入print(,就会显示图2.2中黄底黑字的提示内容,这个内容就是print() 函数的详细语法格式(注:这个方法可以推而广之,所有函数都会有这样的提示,初学者一定不要忽略,每个参数都要去了解,并多编写几个程序测试效果)。

图2.2

print() 函数的详细语法格式如下:

print (value,...,sep='',end='\n',file=sys.stdout,flush=False)

参数

value-- 表示可以一次输出多个对象。输出多个对象时,需要用 , 分隔。

sep -- 用来间隔多个对象,默认值是一个空格。

end -- 用来设定以什么结尾。默认值是换行符 \n,我们可以换成其他字符串。

file -- 要写入的文件对象。

flush -- 输出是否被缓存通常决定于 file,但如果 flush 关键字参数为 True,流会被强制刷新。

以上所有参数如果选择默认值,可以不用输入

那接下来我们结合实例,一个个参数来理解,为了方便快捷看到效果,在没有特别声明的情况下,下文中所有示例均是在Python IDLE的Shell中运行,如图2.3右图所示(左图是代码编辑器Editor)。

“#”,代表单行注释,程序运行时不会执行,从井号“#”开始,直到这行结束为止的所有内容都是注释。Python 解释器遇到“#”时,会忽略它后面的整行内容,仅供程序员阅读,提高程序的可读性。

图2.3

二、实例演示

1、1个print输出1个值或变量

>>>print(1) # 输出数字

1

>>> print("你好,我是大陈") # 输出字符串

你好,我是大陈

>>> print("2+3") # 输出字符串

2+3

>>>print(a)# 输出变量

1

>>>print(a+b)#输出2个变量相加的和

23

2、1个print输出多个变量或值

print()函数要使用一个print输出多个变量或值时,请使用英文逗号“,”隔开,不同内容之间会使用空格隔开。不管是新手还是大师,缺少逗号或使用中文逗号是最容易犯的错误。

>>> print("abc","def") #输出两个字符,默认空格隔开

abc def

>>> print("abc""def")#输出两个字符,没有隔开

abcdef

>>>print(a,b,c)#输出3个变量,默认空格隔开

10 12 120

3、sep决定用什么间隔符来分隔多个值或变量

在默认情况下,print()函数输出多个变量或值时,总会用空格隔开,这是因为print()函数的sep参数的默认值是' ',这个' '就代表空格。如果希望print()函数输出多个值或变量使用不同的分隔符,重设sep参数即可。

>>>print(a,b,c,sep=',')#输出3个变量,输出时用逗号隔开

10,12,120

>>> print("伯牙","善","鼓琴",sep="/") # 设置间隔符

伯牙/善/鼓琴

4、end参数决定换行/不换行输出

在默认情况下,print() 函数输出之后总会换行,这是因为 print() 函数的 end 参数的默认值是“\n”,这个“\n”就代表了换行。如果希望 print() 函数输出之后不会换行,则重设 end 参数即可。

>>>print(1);print(2)#先用这个程序检验一下,可以看出print默认结尾是添加了换行符输出的

1 2

>>>print(1,end="");print(2)#使用end=""修改结尾输出的字符,当前是结尾不输出任何字符,也不换行。

12

>>>print(1,end=",");print(2)#使用end=""修改结尾输出的字符,当前是用逗号隔开,不换行。

1,2

>>>print(1,end=" ");print(2)#使用end=" "修改结尾输出的字符,当前是用空格隔开,不换行。

1 2

5、file参数决定输出至屏幕/文件

file 参数指定 print() 函数的输出目标,file 参数的默认值为 sys.stdout,该默认值代表了系统标准输出,也就是屏幕,因此 print() 函数默认输出到屏幕。实际上,完全可以通过改变该参数让 print() 函数输出到特定文件中。

>>>print("伯牙善鼓琴,钟子期善听")#输出至屏幕

伯牙善鼓琴,钟子期善听

>>>f = open("demo.txt","w")#打开文件以便写入

>>>print('伯牙善鼓琴',file=f)

>>>print('钟子期善听',file=f)

>>>f.close()

第2部分程序中,open() 函数用于打开 demo.txt 文件,2 个 print() 函数会将这 2 段古诗字符串依次写入此文件,最后调用 close() 函数关闭demo.txt文件。

图2.4

如图2.4所示,在Python的安装目录下,程序会新建一个demo.txt文件,该文件内容就是print('伯牙善鼓琴',file=f)、print('钟子期善听',file=f)写入的两句古诗(注意有换行):伯牙善鼓琴,钟子期善听,也就是程序运行时,屏幕上并不会显示任何内容,所有内容都输出到了demo.txt中了。

图2.5

图2.5是程序运行时的对比图,可以看出,修改print()函数的file参数,可以决定输出内容是在屏幕上,还是直接写到文件里。

6、flush决定流是否会被强制刷新

flush 参数用于控制输出缓存,该参数一般保持为 False 即可,这样可以获得较好的性能。但是使用得好,也能实现意想不到的效果,以图2.6程序为例(请使用图2.3左边的编程器Editor),这是一个实现动态的Loading...加载效果的程序。

图2.6

源代码如下:

import time#调用时间库文件 print("Loading",end = "")#不换行输出 for i in range(20):#循环20次执行下面的两行代码 print(".",end = '',flush = True)#缓存刷新输出 time.sleep(0.5)#推迟0.5秒执行下一个循环

程序运行结果如下:

图2.7

综上所述,print()函数是一个输出函数,可以将你要显示的值或变量输出至屏幕或文件,当然,还有一些初学者暂时用不上的列表、元组、字典等,也是可以通过print()函数输出的,这个留给你自己去试验。

>>> L = [5,7,'c'] # 列表 >>> print(L) [5, 7, 'c'] >>> t = (5,7,'c') # 元组 >>> print(t) (5, 7, 'c') >>> d = {'c':1, 'd':2} # 字典 >>> print(d) {'c': 1, 'd': 2}

另外,在输出时,Python还支持格式化输出,由于不是很常用,相关命令请见图2.8,具体操作请搜索“python print 格式化”,即可看到相关内容,大陈在这就不再赘述了。

图2.8

图2.9

以上文章内容参考了C语言中文网以及RUNOOB网,感谢他们。我是研究Python大班教学的大陈,欢迎你和我一起研究Python教学。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20200528A0A3QQ00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券