温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Python进阶之路 3.1 神奇的print函数

发布时间:2020-07-23 04:07:44 来源:网络 阅读:303 作者:Python进阶 栏目:编程语言

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
向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI