欢迎访问宙启技术站
智能推送

Python输出函数print()的高级用法

发布时间:2023-06-22 12:26:29

Python中的print()函数是一种灵活的方式来输出信息,同时也是学习过程中最基本的函数之一。 print()函数可以输出一个或多个字符串、数字、变量、列表、字典、函数等类型的对象,并且可以根据一定的格式进行调整。

本文将介绍Python中print()函数的高级用法和技巧,以帮助你更好地利用Python输出信息。

基本用法

先回忆一下print()函数的基本语法:

print(object(s), sep=separator, end=end, file=file, flush=flush)

其中,object(s)表示输出的对象,可以是单个或多个参数,使用逗号分隔;sep表示对象间的分隔符,默认为一个空格;end表示输出结束时的字符串,默认为换行符;file表示输出到哪个文件中,默认为sys.stdout;flush表示是否在输出缓存中强制刷新数据,默认为False。

例如:

print('hello', 'world') # 输出两个字符串,使用默认分隔符

# 输出:hello world

print('hello', 'world', sep='-') # 输出两个字符串,使用“-”作为分隔符

# 输出:hello-world

print('hello', end='', flush=True) # 输出一个字符串,只在缓存中暂存

# 输出:hello

上述的例子表示,print()函数可以很容易地输出一个或多个字符串,并且可以通过参数进行调整。

格式化输出

有时候需要将变量的值输出到字符串中,这个时候可以使用格式化输出。Python中有三种格式化输出方式:百分号(%)、str.format()、f-string(Python 3.6及以上版本)。

百分号(%)格式化

百分号(%)格式化是Python中最早也是最基本的格式化输出方法,类似于C语言的printf()函数。它可以将一个或多个变量类型的对象插入到字符串中。

语法:

print("格式化字符串 % (变量)")

例如:

name = "张三"

print("我的名字是 %s" % name)

上面的语句将会输出:「我的名字是 张三」。

%格式化符号列表:

1. %s:字符串类型

2. %d:整数类型

3. %f:浮点数类型

4. %x | %X:十六进制(小写、大写)类型

5. %o:八进制类型

6. %c:字符类型

7. %e | %E:科学计数法类型

8. %p:指针类型(十六进制)

例如:

print("名字:%s,年龄:%d,身高:%0.2f" % ("张三", 18, 1.75))

# 输出:名字:张三,年龄:18,身高:1.75

str.format()格式化

str.format()是Python中另一个常用的格式化输出函数,它能够通过参数序列的方式插入多个变量类型的对象。

语法:

print("格式化字符串".format(变量))

例如:

name = "张三"

age = 18

height = 1.75

print("我的名字是 {},今年 {} 岁,身高 {:.2f} 米".format(name, age, height))

上面的语句将会输出:「我的名字是 张三,今年 18岁,身高 1.75米」。

f-string格式化(Python 3.6及以上版本)

f-string是Python 3.6及以上版本的特定格式化输出方式,它使用格式化字符串(f"...")来表示其中的变量,并且可以引用变量名。

语法:

print(f"格式化字符串{变量}")

例如:

name = "张三"

age = 18

height = 1.75

print(f"我的名字是 {name},今年 {age} 岁,身高 {height:.2f} 米")

上面的语句将会输出:「我的名字是 张三,今年 18岁,身高 1.75米」。

高级用法

已经讲到了基本用法和格式化输出,下面来看一些高级的技巧和用法。

重定向输出

可以使用print()函数的file参数将输出重定向到文件中。

语法:

print("Hello, World!", file=open("output.txt", "w"))

这个语句将会把字符串「Hello, World!」输出到一个名为「output.txt」的文件中。需要注意用 open() 函数打开文件时,需要指定打开模式,例如这个例子中的 "w" 表示写入模式,如果文件不存在,则会创建一个新文件。

类似的,也可以使用sys.stdout将文件输出到标准输出(比如屏幕中)。用法如下:

import sys

print("Hello, World!", file=sys.stdout)

输出多行文本

有时候需要输出多行文本,可以使用三引号来实现,例如:

print('''hello

world

I am here

''')

这种情况下,输出的文本会被保留为多行文本形式。

控制输出的位置

有时候需要控制输出信息的位置,可以使用转义符“\r”和“\b”来实现。

语法:

print("Hello, \rWorld!")

这个语句将会输出:「World, Hello!」,其中\r表示回到当前行的开头,所以新输出的字符串会覆盖之前的字符串。

语法:

print("Hello,\b World!")

这个语句将会输出:「Hello, World!」,其中\b表示退格符,会删除前面的一个字符。

输出到同一行

多个print()函数的输出一般会分行显示,如果需要在同一行中输出内容,可以通过end参数来实现。

例如:

print("hello", end='')

print("world")

这个语句将会输出:「helloworld」。

总结

在Python中,print()函数是一个基本又方便的输出函数。我们可以通过参数来控制输出信息的格式、位置和展示方式等,同时还可以通过格式化输出和重定向输出来达到更加灵活的效果。

希望本篇文章能够帮助大家更好地使用Python print()函数。