Python中print()函数的标准输出和格式化输出(第8节)


1、print()函数的标准输出

和大多数编程语言一样,Python也是用print()函数来进行输出的。print()函数是Python编程中非常基础且重要的函数,无论你是初学者还是有经验的开发者都会经常用到。

(1)print()函数标准输出的简单例子

我们可以在print()函数的括号内放入任何内容,运行代码后都会在屏幕上显示出来。例如:

动手练一练:

print("你好!")
print('你好!')  # 单引号和双引号都一样
print("Hello World!")

执行以上代码,输出结果为:

你好
你好
Hello World!

从运行结果可以看到,print()函数没有区分单引号和双引号,共执行3次print()函数,每次执行print()函数后,结尾都会输出一个换行符自动换行。当我们设置了“end”参数后,结尾的换行符就可以变成其它符号或者设置为空就不换行了。例如:

动手练一练:

print("你好!", end="")
print('Python')

print("-------这是虚线-------")

print("Hello", end="+")
print("World!")

执行以上代码,输出结果为:

你好Python
-------这是虚线-------
Hello+World!

(2)print()函数输出多个内容的例子

在print()函数中,还可以输出多个内容,只需用逗号隔开,比如

动手练一练:

x = 10
y = 20
print(x, y)   # 输出项x与y之间以逗号分隔

print("-------这是虚线-------")

name = "张三"
age = 20
print("你好,我是", name, ",今年", age, "岁。")

执行以上代码,输出结果为:

10 20
-------这是虚线-------
你好我是 张三 今年 20 

从运行结果可以看到,用逗号分割输出多项内容后,运行结果各输出项之间默认以空格分隔,我们可以使用sep参数来指定输出时使用的分隔符,例如:

动手练一练:

x = 10
y = 20
print(x, y, sep="+")   # 输出 10+20

print("-------这是虚线-------")

name = "张三"
age = 20
print("你好,我是", name, "今年", age, "岁", sep="+")  # 输出 你好,我是+张三+今年+20+岁

print("-------这是虚线-------")

print(10, 20, sep='-', end='*')
print(30)

执行以上代码,输出结果为:

10+20
-------这是虚线-------
你好我是+张三+今年+20+
-------这是虚线-------
10-20*30

2、print()函数格式化输出

(1)最传统的方法是使用百分号%占位符

使用%占位符来进行格式化,是Python中比较古老的方法,但它仍然有效。例如:

动手练一练:

name = "张三"
age = 20
print("你好,我是%s。" % name)                   # “%s"输出字符串类型
print("你好,我是%s,今年%d岁。" % (name, age))   # “%d”输出整数类型的数据
print("你好,我是%s,今年%f岁。" % (name, age))   # “%f”输出浮点数类型的数据,默认保留六位小数
print("你好,我是%s,今年%.2f岁。" % (name, age)) # “%.2f”输出浮点数类型的数据,保留两位小数

执行以上代码,输出结果为:

你好我是张三
你好我是张三今年20岁
你好我是张三今年20.000000
你好我是张三今年20.00

上面的例子中,使用的占位符解析如下:

字符串占位符%s:用于字符串类型的数据。

整数占位符%d:用于整数类型的数据。

浮点数占位符%f:用于浮点数类型的数据,默认保留六位小数,“%.1f”代表保留一位小数,“%.2f”代表保留两位小数,以此类推。

(2)使用format()方法

format()提供了一种更现代、更灵活的方式来格式化字符串。例如:

动手练一练:

name = "张三"
age = 20

print("你好,我是{},今年{}岁。".format(name, age))
# 也可以使用索引指定顺序
print("你好,我是{1},今年{0}岁。".format(age, name))
# 还可以使用关键字
print("你好,我是{a},今年{b}岁。".format(a=name, b=age))

执行以上代码,输出结果为:

你好我是张三今年20岁
你好我是张三今年20岁
你好我是张三今年20岁

(3)使用格式化字符串字面值(f-string)

从Python 3.6开始,可以使用f-string来格式化字符串,这是一种非常简洁的方法。在字符串前添加字母“f”前缀,然后用花括号{}表示占位符,可以直接在花括号中填入变量名或表达式。还可以在{}中直接执行计算和调用函数。例如:

动手练一练:

name = "张三"
age = 20

print(f"你好,我是{name},今年{age}岁。")
print(f"去年我{age-1}岁。")
print(f"明年我将{age+1}岁。")

执行以上代码,输出结果为:

你好我是张三今年20岁
去年我19岁
明年我将21岁

(4)使用原始字符串

在使用print()函数输出路径时,由于反斜杠(\)在字符串中被视为转义字符,会导致路径不正确而引起错误,所以当我们输出“E:\test\new.txt”时,Python会将“\t”和“\n”分别解释为水平制表符(相当于tab键)和换行符。要解决这个问题,我们可以使用以下两种方法之一:

第一种方法:使用原始字符串

在字符串前面加上“r”,将字符串视为原始字符串,不对反斜杠进行转义。例如:

动手练一练:

print("E:\test\new.txt")

print("-------这是虚线-------")

print(r"E:\test\new.txt")    # 字符串前面加上“r”

执行以上代码,输出结果为:

E: est
ew.txt
-------这是虚线-------
E:\test\new.txt

第二种方法:使用正斜杠“/”或者使用双反斜杠“\”

我们也可以使用正斜杠“/”或双反斜杠“\”来表示文件路径,这样可以避免转义问题。例如:

动手练一练:

print("E:/test/new.txt")

print("-------这是虚线-------")

print("E:\\test\\new.txt")

执行以上代码,输出结果为:

E:/test/new.txt
-------这是虚线-------
E:\test\new.txt

总之,print()函数在Python中非常有用,可以帮助我们在编程过程中输出信息,方便调试和查看结果。熟练掌握print()函数的用法,我们可以更加灵活地控制输出,提高代码的可读性和可维护性。