Skip to content

Python 输入输出函数详解

在 Python 编程中,输入和输出 (I/O) 是程序与用户交互以及程序读写文件的关键组成部分。Python 提供了几个内置函数来处理这些操作。本文将详细介绍 input()print()open() 这三个常用的 I/O 函数,并提供示例,帮助新手快速上手。

1. input() 函数:获取用户输入

input() 函数允许你的程序暂停执行,等待用户从键盘输入一些内容。用户输入的内容会被读取为一个字符串,并可以赋值给变量。

基本用法:

python
name = input("请输入你的名字:")  # 提示用户输入名字
print("你好," + name + "!")  # 打印问候语

运行结果:

请输入你的名字:小明
你好,小明!

解释:

  1. input("请输入你的名字:") 会在控制台显示 "请输入你的名字:",并等待用户输入。
  2. 用户输入 "小明" 后,input() 函数会将 "小明" 作为字符串返回。
  3. name = ... 将返回的字符串赋值给变量 name
  4. print("你好," + name + "!") 打印包含用户输入的名字的问候语。

进阶用法:类型转换

input() 函数返回的始终是字符串。如果需要将输入转换为其他类型(例如整数或浮点数),可以使用类型转换函数。

python
age = input("请输入你的年龄:")  # 提示用户输入年龄
age = int(age)  # 将字符串转换为整数
print("你明年 " + str(age + 1) + " 岁了。")  # 打印明年的年龄

运行结果:

请输入你的年龄:25
你明年 26 岁了。

注意事项:

  • 在使用 input() 函数时,务必提供清晰的提示信息,以便用户知道需要输入什么内容。
  • 如果需要将输入转换为数字类型,一定要进行错误处理,以防止用户输入无效的数据导致程序崩溃。可以使用 try-except 语句来捕获 ValueError 异常。
python
try:
    age = input("请输入你的年龄:")
    age = int(age)
    print("你明年 " + str(age + 1) + " 岁了。")
except ValueError:
    print("输入的年龄无效,请输入一个整数。")

2. print() 函数:输出信息

print() 函数用于将信息输出到标准输出(通常是控制台)。它可以输出变量的值、表达式的结果、字符串等等。

基本用法:

python
name = "李华"
age = 30
print("姓名:", name)
print("年龄:", age)
print("姓名:", name, ",年龄:", age)  # 使用多个参数

运行结果:

姓名: 李华
年龄: 30
姓名: 李华 ,年龄: 30

解释:

  • print() 函数可以接受多个参数,参数之间用逗号分隔。
  • print() 函数会自动在参数之间添加空格。
  • print() 函数默认在输出结束后换行。

进阶用法:格式化输出

可以使用字符串的 format() 方法或者 f-strings 来进行格式化输出,使输出更加美观和易读。

使用 format() 方法:

python
name = "王芳"
score = 95.5
print("姓名:{},成绩:{}".format(name, score))
print("姓名:{0},成绩:{1:.2f}".format(name, score))  # 指定参数的索引,并格式化浮点数

使用 f-strings (Python 3.6+):

python
name = "赵刚"
score = 88
print(f"姓名:{name},成绩:{score}")
print(f"姓名:{name},成绩:{score:.1f}") # 格式化输出,保留一位小数 (如果 score 是浮点数)

运行结果:

姓名:王芳,成绩:95.5
姓名:王芳,成绩:95.50
姓名:赵刚,成绩:88
姓名:赵刚,成绩:88.0

print() 函数的参数:

  • sep: 指定分隔符,默认为空格。
  • end: 指定结束符,默认为换行符 \n
  • file: 指定输出文件,默认为 sys.stdout (标准输出)。
python
print("Hello", "World", sep="-", end="!\n")  # 使用指定的分隔符和结束符

运行结果:

Hello-World!

3. open() 函数:文件操作

open() 函数用于打开一个文件,并返回一个文件对象。通过文件对象,可以对文件进行读取、写入等操作。

基本用法:

python
file = open("my_file.txt", "r")  # 以只读模式打开文件
content = file.read()  # 读取文件内容
print(content)  # 打印文件内容
file.close()  # 关闭文件

解释:

  1. open("my_file.txt", "r") 打开名为 "my_file.txt" 的文件,并以只读模式 ("r") 返回一个文件对象。如果文件不存在,会抛出 FileNotFoundError 异常。
  2. file.read() 读取文件的全部内容,并将其作为一个字符串返回。
  3. print(content) 打印文件内容。
  4. file.close() 关闭文件。务必在使用完文件后关闭它,以释放资源。

常用的文件打开模式:

  • "r": 只读模式 (默认)。
  • "w": 写入模式。如果文件已存在,会覆盖原有内容。如果文件不存在,会创建新文件。
  • "a": 追加模式。如果文件已存在,会在文件末尾追加内容。如果文件不存在,会创建新文件。
  • "x": 排它性创建模式。如果文件已存在,open() 操作将会失败。
  • "b": 二进制模式。用于处理二进制文件,如图片、视频等。
  • "t": 文本模式 (默认)。
  • "+": 读写模式。可以同时进行读写操作。

示例:写入文件

python
file = open("my_file.txt", "w")  # 以写入模式打开文件
file.write("Hello, world!\n")  # 写入字符串到文件
file.write("This is a new line.\n")
file.close()

示例:使用 with 语句自动关闭文件

使用 with 语句可以确保在代码块执行完毕后自动关闭文件,即使发生异常也能正确关闭文件。

python
with open("my_file.txt", "r") as file:
    content = file.read()
    print(content)
# 文件在这里自动关闭

掌握 input()print()open() 这三个 I/O 函数是 Python 编程的基础。通过它们,你可以实现与用户的交互、信息的输出以及文件的读写操作。希望本文能够帮助你入门 Python I/O 编程。