c 输出空格_Python编程:案例详解输出函数print

58d7a1e9debfe8d370ffc2fc52fafda5.png

先说说上一篇作业的答案。

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

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

2、阅读程序写结果。

print("1+1")

第1题选A,这个没问题,可是第2题,有初学者掉“坑”里了

2cd108bca162b39a612c110afe249dbf.png

这就说明对于print打印输出函数不理解,正确答案应该就是显示:1+1,所以本文我们重点来了解print()函数。

pring语法格式

打开Python的IDLE,输入print(,就会显示图中黄底黑字的提示内容,这个内容就是print() 函数的详细语法格式。

注:这个方法可以推而广之,所有函数都会有这样的提示,初学者一定不要忽略,每个参数都要去了解,并多编写几个程序测试效果。

b1e40ef113f1583ef9f56aa7a7869d79.png

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

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

参数

  • value-- 表示可以一次输出多个对象。输出多个对象时,需要用 , 分隔。
  • sep -- 用来间隔多个对象,默认值是一个空格。
  • end -- 用来设定以什么结尾。默认值是换行符 \n,我们可以换成其他字符串。
  • file -- 要写入的文件对象。
  • flush -- 输出是否被缓存通常决定于 file,但如果 flush 关键字参数为 True,流会被强制刷新。

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

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

f6f5e3b74e163c988241af721fa7fdcc.png

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

实例演示

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

>>>print(1) # 输出数字1 >>> print("你好,我是大陈") # 输出字符串你好,我是大陈>>> print("2+3") # 输出字符串2+3>>>a=1>>>print(a)# 输出变量1>>>a=3>>>b=20>>>print(a+b)#输出2个变量相加的和23

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

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

>>> print("abc","def") #输出两个字符,默认空格隔开abc def>>> print("abc""def")#输出两个字符,没有隔开abcdef>>>a=10>>>b=12>>>c=a*b>>>print(a,b,c)#输出3个变量,默认空格隔开10 12 120

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

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

>>>a=10>>>b=12>>>c=a*b>>>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默认结尾是添加了换行符输出的12>>>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文件。

dce085e2d6772d02204bf8a00931c501.png

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

79769a1182951bf147b210f3f188aed8.png

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

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

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

3a8b23ff2994d60b990fbdffddb77501.png

源代码如下:

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

程序运行结果如下:

6cf22a9434205ab566c38fedb1f35776.gif

综上所述,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还支持格式化输出,由于不是很常用,相关命令请见下图,具体操作请搜索“python print 格式化”,即可看到相关内容,在这就不再赘述了。

cf8dbafe0914a988d9287b97404805c2.png

以上文章内容参考了C语言中文网以及RUNOOB网,感谢他们。

- END -

文源网络,仅供学习之用。 如有侵权,联系删除。往期精彩

1215906bfc912931ffbfc995255922ed.png

◆  50款开源工具你都用过吗?

◆  python+C、C++混合编程的应用

◆  python网络爬虫的基本原理详解

◆  Python自动操控excel,一小时解决你一天的工作

◆  如何用Python增强Excel,减少处理复杂数据的痛苦?

12ec81473f93ebf4db6710522959a779.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值