Python进阶之路 3.1 神奇的print函数
admin
2023-07-08 07:24:49
0

3.1 神奇的print函数

相信大家对print函数一定不陌生,因为在前面的章节,几乎每个例子都使用了print函数,这个函数的功能就是在控制台输出文本。不过print在输出文本时可以进行一些设置,以及输出多参数字符串。

如果为print函数传入多个参数值,那么print函数会将所有的参数值首尾相接输出。

print("a","b","c","d","e")
a b c d e

可以看到,上面这行代码输出了a到e,共5个字母。在Python控制台中输出了"a b c d e"。很明显是将这5个字符首尾相接输出了。不过这些字母之间用空格分隔,这是print函数默认的分隔符,用于分隔输出的多个参数值,这个默认设置是非常有用的。例如,执行下面的代码,会在等号(=)后面加一个空格。

print("name =","Bill")
print("age =",30)
name = Bill
age = 30

其中等号(=)前面的空格是第1个参数值包含的。

print函数会为除了第1个参数值以外的其他参数值前面添加一个空格,这样做,在需要用空格分隔的场景下,就不需要在每个参数值前面添加空格了。

不过这种默认设置有利有弊,在不需要用空格分隔时,print函数仍然会添加空格。例如,要输出字符串"Apple,Orange,Banana"。其中Apple、Orange和Banana之间用逗号(,)分隔,逗号(,)与其英文单词之间没有空格。如果按照前面的做法,会有如下的代码输出这行字符串。

print("Apple",",", "Orange",",","Banana")
Apple , Orange , Banana

很明显,逗号(,)前后都有空格。当然,可以将逗号(,)与前面的英文单词合并,但逗号(,)与后面的英文单词之间仍然会有空格。

解决这个问题的方法很多,例如可以用传统的字符串相加的方式输出字符串"Apple,Orange,Banana"。

print("Apple" + "," + "Orange" + "," + "Banana")

以上这个方法还是显得有点杂乱,看得眼花缭乱的。那么下面我们在用一种特有的方法解决这个问题。在print函数最后添加sep=","。

print("Apple","Orange","Banana" sep = ",")

上面这个方法就显得很整齐,观赏性更高,更容易让人理解。

print函数输出字符串时,默认会在字符串结尾添加换行符(\n),这样每次调用print函数输出字符串,都会另起一行。不过有时希望调用多次print函数都在同一行输出,这时可以在print函数最后加上end = " ",让最后一个输出字符串结尾符变成空格。

print("a",end = "")
print("b",end = "")
print("c",end = " ")
ab c

[例 3.1] 本例演示了print函数输出参数值,修改默认多参数值分隔符,以及修改输出字符串结尾字符的方法。

print("name =", "Bill")
# 输出用空格分隔的多个参数值

print("age = ", 30)
# 输出用空格分隔的多个参数值

print("Apple" + "," + "Orange" + "," + "Banana")
# 使用加号(+)链接字符串

print("Apple", "Orange", "Banana", sep=",")
# 使用sep修改多参数分隔符为逗号(,),然后输出多参数值

print("Can", "you", "tell", "me", "how", "to", "get", "to", "the", "nearest", "tube", "station", sep="&")
# 使用sep修改多参数分隔符为"&",然后输出多参数值

print("Hello", end=" ")
print("World")
# 修改输出字符串结尾符为空格,这样下次调用print函数,就会从同一行输出内容

print("a", end="")
print("b", end="")
print("c", end="")
# 修改输出字符串结尾符为长度为0的字符串,这样下次调用print函数,输出的内容不仅会在同一行,而且会首尾相接
name = Bill
age =  30
Apple,Orange,Banana
Apple,Orange,Banana
Can&you&tell&me&how&to&get&to&the&nearest&tube&station
Hello World
abc

相关内容

热门资讯

我国科学家为细胞信号“导航”开... 新华社济南5月31日电(记者张力元)人体细胞犹如一座精密的通信城市,每天都有大量“指令”穿梭传递,调...
极端大风突袭哈尔滨!过山车停摆... 极目新闻记者 詹钘5月31日,受强对流天气影响,哈尔滨国际会展中心体育场相关设施受到损坏,原计划当晚...
三原电缆取得电缆接头连接用防护... 国家知识产权局信息显示,上海三原电缆附件有限公司取得一项名为“一种电缆接头连接用防护结构”的专利,授...
原创 识... 还是那句话,机圈苦大屏久已…… 虽然大屏有大屏的美,但是小屏也有小屏的俏。在大屏旗舰占据主流的手机市...
玄戒技术取得分频电路专利,实现... 国家知识产权局信息显示,北京玄戒技术有限公司取得一项名为“分频电路、分频器、射频芯片和电子设备”的专...
为什么今年香会基调明显变了 5月29日—31日在新加坡举行的第23届香格里拉对话会(简称“香会”),见证着元首引领下大国关系继续...
成本几毛钱、假驱蚊液香精兑水,... 入夏升温,蚊虫进入活跃期,驱蚊防护成为民生刚需,《财经调查》持续接到消费者投诉,他们买到的多款网红驱...
越来越多80后90后,正在丧失... 六一儿童节到来之际,朋友圈里开始出现一种熟悉的热闹。有人晒出零食礼包,有人半开玩笑地向伴侣讨礼物,还...
洋保电子取得用于低温环境的电气... 国家知识产权局信息显示,洋保电子(太仓)有限公司取得一项名为“一种用于低温环境的电气柜”的专利,授权...
中日韩飞手争霸宁波!2026无... 潮新闻客户端 记者 陈冲 通讯员 朱凝 5月31日,2026小遛·无人机竞速世界杯(中国·宁波鄞州站...