print()
函数是 Python 中最常用的内置函数之一,它可以把文本或者变量的值,输出到控制台或者文件中。
1. 基本用法
使用 print()
函数可以打印出一些简单的文本信息:
print("Hello 有霸夫!")
输出结果:
Hello 有霸夫!
可以看到,print()
函数会自动在文本结尾处添加一个换行符 "n"
。
2. 输出变量值
除了输出文本信息外,还可以输出变量的值。例如:
name = "youbafu"
age = 18
print("My name is", name, ",今年", age, "岁。")
输出结果:
My name is youbafu ,今年 18 岁。
可以看到,在print()
函数中使用多个参数时,它们会自动用空格隔开。
3. 格式化输出
print()
函数还支持格式化输出,可以使用字符串格式化操作符(%)来代替变量,例如:
name = "youbafu"
age = 18
print("My name is %s and I am %d years old." % (name, age))
输出结果:
My name is youbafu and I am 18 years old.
在格式化字符串中,%s表示字符串类型,%d表示整数类型。可以看到,在print()
函数中,字符串和变量值之间使用了%符号进行连接,括号中的变量按照%s和%d的顺序传递进去。
我们还可以使用format()
方法或者f-string
(格式化字符串字面值)来控制输出格式。例如:
使用format()方法:
name = "youbafu"
age = 18
print("My name is {} and I am {} years old.".format(name, age))
输出结果:
My name is youbafu and I am 18 years old.
使用f-string:
name = "youbafu"
age = 18
print(f"My name is {name} and I am {age} years old.")
输出结果:
My name is youbafu and I am 18 years old.
可以看到,使用format()
方法和f-string
可以让我们更方便地控制输出格式,避免使用%操作符时出现的类型错误和顺序错误等问题。
4. 控制换行符
在默认情况下,print()
函数会在文本结尾添加一个换行符。如果不想要换行符,可以使用end
参数,例如:
print("Hello", end=" ")
print("youbafu!")
输出结果:
Hello youbafu!
可以看到,由于第一个print()
函数的end
参数指定为空格符,所以第二个print()
函数不会换行。
5. 控制分隔符
在默认情况下,print()
函数会使用空格符作为分隔符。如果需要使用其他分隔符,可以使用sep
参数,例如:
print("A", "B", "C", sep="-")
输出结果:
A-B-C
可以看到,由于使用了sep
参数,print()
函数使用了连字符作为分隔符。
6. 输出到文件
除了输出到控制台外,还可以把输出结果保存到文件中。可以使用 Python 的文件操作函数来打开文件并写入内容,例如:
with open("output.txt", "w") as f:
print("Hello World!", file=f)
可以看到,使用print()
函数的file
参数可以指定输出到文件对象中,这里使用了 Python 的 with
语句来自动关闭文件。
7. 打印对象
在 Python 中,所有对象都可以使用print()
函数进行输出。当我们使用print()
函数输出一个对象时,Python 会调用该对象的__str__()
方法来获取一个字符串表示。如果我们想要自定义一个对象的输出方式,可以在该对象的类中定义__str__()
方法。例如:
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
def __str__(self):
return f"Person(名字='{self.name}', 年龄={self.age})"
p = Person("有霸夫", 18)
print(p)
输出结果:
Person(名字='有霸夫', 年龄=18)
可以看到,当我们使用print()
函数输出一个Person
对象时,Python调用了该对象的__str__()
方法来获取一个字符串表示,从而自定义了输出格式。
8. 控制输出颜色
在命令行中,我们可以使用ANSI
转义序列来控制输出颜色。在 Python 中,我们可以使用print()
函数结合ANSI
转义序列来控制输出颜色。例如:
print(" 33[1;31m跟有霸夫学Python! 33[0m")
print(" 33[4;35mOK,好呀 33[0m")
print(" 33[42m 33[37m请先关注我. 33[0m")
print(" 33[1;36m好的,关注了! 33[0m")
输出结果:
可以看到,使用ANSI
转义序列可以把输出文本的颜色设置为红色。其中," 33["
表示转义序列的开始,"m"
表示转义序列的结束,中间的数字和字符组合表示不同的颜色、样式和背景等。注意,在每个转义序列后面,我们需要添加" 33[0m"
来重置颜色和样式等为默认值。
参数的列表:
前景颜色 | 背景颜色 | 显示样式 | 其它 |
---|---|---|---|
30(黑色) | 40(黑色) | 0(默认) | 22(取消粗体和弱化) |
31(红色) | 41(红色) | 1(粗体) | 23(取消斜体) |
32(绿色) | 42(绿色) | 2(弱化) | 24(取消下划线) |
33(黄色) | 43(黄色) | 3(斜体) | 25(取消闪烁) |
34(蓝色) | 44(蓝色) | 4(下划线) | 27(取消反转显示) |
35(洋红色) | 45(洋红色) | 5(闪烁) | 28(取消隐藏) |
36(青色) | 46(青色) | 7(反转显示) | 39(关闭前景色) |
37(白色) | 47(白色) | 8(隐藏) | 49(关闭背景色) |
print()
函数的原型如下所示:
print(*objects, sep=' ', end='n', file=sys.stdout, flush=False)
参数说明:
-
*objects
:要打印的对象,可以传入任意数量的参数,它们将会被打印到屏幕上。 -
sep
:对象之间的分隔符,默认为一个空格。 -
end
:打印结束后的字符,默认为一个换行符。 -
file
:输出的文件对象,默认为sys.stdout(即屏幕)。 -
flush
:是否强制刷新输出缓冲区,默认为False。
发表评论