Python 入门教程(3)基础知识 | 3.6、标准输入与输出
文章目录
- 一、标准输入与输出
- 1、标准输入
- 2、标准输出
- 3、格式化输出
- 3.1、使用`%`操作符的格式化
- 3.2、使用str.format()方法
- 3.3、使用f-strings(格式化字符串字面量)
前言:
Python的标准输入与输出是编程中非常基础且重要的概念,它们允许程序与用户或其他程序进行交互。在Python中,标准输入通常指的是从键盘接收数据,而标准输出则是指将数据发送到屏幕显示。下面,我们将详细介绍Python中的标准输入与输出。
一、标准输入与输出
1、标准输入
在Python中,
input()
函数是执行标准输入的主要方式。这个函数会暂停程序的执行,等待用户从键盘输入一些文本,并按下回车键。然后,它会将用户输入的文本(包括任何空格,但不包括回车符)作为字符串返回给程序。如果需要将输入的文本转换为其他数据类型(如整数或浮点数),可以使用类型转换函数(如int()
或float()
)。
示例代码:
# 使用 input() 函数获取用户输入的字符串
user_input = input("请输入你的名字: ")
print("你好,", user_input)
# 将用户输入的字符串转换为整数
age = int(input("请输入你的年龄: "))
print("你今年", age, "岁。")
2、标准输出
在Python中,
print()
函数是实现标准输出的主要方式。这个函数可以将信息发送到标准输出设备,通常是屏幕。print()
函数可以接受多个参数,它们将被转换成字符串(如果它们还不是字符串的话),并在输出时以空格分隔,最后换行。此外,print()
函数还允许通过一些关键字参数(如end
、sep
和file
)来自定义输出的格式和目的地。print()
函数原型如下:
print(self, *args, sep=' ', end='\n', file=None)
self
: 面向对象中的一个当前对象引用的标识。*args
: 可变长参数列表。sep
: 打印元素之间的间隔分隔,默认空格。end
: 打印信息的结尾,默认换行。file
: 将打印的内容输出到一个文本文件中。
示例代码:
# 使用 print() 函数输出文本
print("Hello, World!")
# 输出多个值,它们之间用空格分隔
print("姓名:", "张三", "年龄:", 30)
# 自定义分隔符和结束符
print("苹果", "香蕉", "橙子", sep=" | ", end="!\n")
# 将输出重定向到文件
with open('output.txt', 'w') as file:
print("这是写入文件的文本", file=file)
3、格式化输出
Python的格式化输出是编程中一个非常重要的概念,它允许开发者以更加清晰、可读的方式将数据展示给用户。Python提供了多种实现格式化输出的方法,包括使用
%
操作符的旧式字符串格式化 、str.format()方法以及f-strings(Python 3.6+引入)。下面,将逐一介绍这些方法。
3.1、使用%
操作符的格式化
这是Python中最早也是最直观的一种格式化输出方式。它借鉴了C语言中的
sprintf()
函数。在字符串中,%
符号用作占位符,后面跟着格式化字符,表示如何格式化相应的值。
示例代码:
name = "Alice"
age = 30
print("Name: %s, Age: %d" % (name, age))
# 输出: Name: Alice, Age: 30
注意: 格式化字符串后面不要使用逗号,下面是错误的写法
# 错误写法,下面的代码编译会报语法错误
print("Name: %s, Age: %d", % (name, age))
3.2、使用str.format()方法
str.format()
方法是Python 2.6中引入的一种更灵活、功能更强大的字符串格式化方法。它使用大括号{}
作为占位符,并通过format()
方法中的参数来指定这些占位符的值。
示例代码:
name = "Bob"
age = 25
print("Name: {}, Age: {}".format(name, age))
# 输出: Name: Bob, Age: 25
# 也可以指定占位符的索引
print("Name: {1}, Age: {0}".format(age, name))
# 输出: Name: Bob, Age: 25
# 还可以使用关键字参数
print("Name: {name}, Age: {age}".format(name=name, age=age))
# 输出: Name: Bob, Age: 25
3.3、使用f-strings(格式化字符串字面量)
f-strings
是Python 3.6中引入的一种新的字符串格式化机制,它以f
或F
为前缀,并在字符串内部使用大括号{}
来包含表达式。这些表达式在字符串被创建时会被其值替换。
示例代码:
name = "Charlie"
age = 28
print(f"Name: {name}, Age: {age}")
# 输出: Name: Charlie, Age: 28
# 可以在大括号中直接进行运算
print(f"Ten years later, {name} will be {age + 10} years old.")
# 输出: Ten years later, Charlie will be 38 years old.
f-strings
因其简洁性和易读性而广受欢迎,并且在性能上也优于其他格式化方法。它们已经成为Python中进行字符串格式化的首选方式。