10 Python 输入输出(Input、Output、IO)函数
前言
在 Python 编程中,输入(Input) 和 输出(Output) 是程序与用户或外部环境进行交互的桥梁。无论是简单的打印“Hello World”,还是复杂的数据处理,都离不开这两个环节。
输出函数:print()
print() 是 Python 中最常用的函数,用于将数据输出到控制台(标准输出)。
基本用法
最简单的用法是直接在括号内放入要打印的内容(字符串、数字、变量等)。
print("Hello, Python!")
print(100)
name = "Alice"
print(name)print() 函数的参数详解
print() 函数的完整签名如下:
print(*objects, sep=' ', end='\n', file=sys.stdout, flush=False)参数说明
*objects(位置参数):- 含义: 这是一个可变参数,表示你可以一次性传入多个对象,
print会自动将它们转换为字符串并输出。 - 默认: 无。
- 含义: 这是一个可变参数,表示你可以一次性传入多个对象,
sep(分隔符):- 含义: 当你传入多个对象时,用来隔开这些对象的字符。
- 默认值:
' '(空格)。
end(结束符):- 含义: 打印完所有内容后,自动追加的字符。
- 默认值:
'\n'(换行符)。这就是为什么每次调用print都会自动换行。
file(输出流):- 含义: 指定输出的位置。
- 默认值:
sys.stdout(控制台)。你可以将其修改为文件对象,从而将内容写入文件。
flush(刷新缓冲区):- 含义: 是否强制将流缓冲区的内容立即输出。
- 默认值:
False。
代码示例
示例 A:使用 sep 自定义分隔符
# 默认使用空格分隔
print("Apple", "Banana", "Cherry")
# 输出: Apple Banana Cherry
# 使用逗号分隔
print("Apple", "Banana", "Cherry", sep=", ")
# 输出: Apple, Banana, Cherry
# 使用换行符分隔(实现列表效果)
print("Line 1", "Line 2", "Line 3", sep="\n")示例 B:使用 end 控制换行
# 默认换行
print("Hello")
print("World")
# 输出:
# Hello
# World
# 不换行,用空格连接
print("Hello", end=" ")
print("World")
# 输出: Hello World
# 制作简单的进度条效果
import time
print("Loading", end="")
for i in range(3):
print(".", end="")
time.sleep(0.5)
# 输出: Loading... (动态出现)输入函数:input()
input() 函数用于暂停程序运行,等待用户从键盘输入文本,并按下回车键。
基本用法与参数
variable = input(prompt)prompt(可选): 一个字符串,用来提示用户输入什么内容。- 返回值: 永远是字符串 (
str) 类型。这是初学者最容易犯错的地方。
代码示例
示例 A:基础输入
name = input("请输入您的名字: ")
print("你好,", name)示例 B:类型转换 (关键点)
由于 input() 返回的是字符串,如果你需要数字(例如进行计算),必须进行类型转换(Casting)。
# 错误示范
# age = input("请输入年龄: ")
# print(age + 1) # 报错!不能将字符串和整数相加
# 正确示范
age_str = input("请输入年龄: ")
age = int(age_str) # 转换为整数
print(f"明年由于您将是 {age + 1} 岁。")
# 简写方式
height = float(input("请输入身高(米): ")) # 转换为浮点数
print("您的身高是:", height)进阶:格式化输出
在实际开发中,我们经常需要将变量嵌入到字符串中输出。Python 提供了几种主要方式。
f-Strings (推荐,Python 3.6+)
这是目前最现代、最快、最易读的方式。在字符串前加 f,然后在 {} 中直接写变量或表达式。
name = "Bob"
score = 95.5
print(f"学生 {name} 的分数是 {score}")
print(f"分数翻倍是: {score * 2}")format() 方法 (兼容性好)
在字符串中使用 {} 占位,后面调用 .format()。
name = "Bob"
score = 95.5
print("学生 {} 的分数是 {}".format(name, score))
# 也可以指定位置
print("学生 {0} 的分数是 {1}".format(name, score))百分号 % (旧式,类似 C 语言)
name = "Bob"
score = 95
print("学生 %s 的分数是 %d" % (name, score))
# %s 代表字符串,%d 代表整数,%f 代表浮点数拓展:文件输入输出 (File I/O)
虽然通常说的“输入输出”指控制台,但读写文件也是 I/O 的重要部分。Python 使用 open() 函数。
写入文件 (print 的 file 参数技巧)
你可以直接利用 print 函数将内容写入文件,而不需要显式调用 write 方法。
# 'w' 模式表示写入(如果文件存在则覆盖)
with open("output.txt", "w", encoding="utf-8") as f:
print("这是一行测试文本", file=f)
print("这是第二行", file=f)
print("写入完成!")读取文件
# 'r' 模式表示读取
with open("output.txt", "r", encoding="utf-8") as f:
content = f.read() # 读取全部内容
print("文件内容如下:")
print(content)10 Python 输入输出(Input、Output、IO)函数
分类:
Python 新手教程
标签:
inputoutputPythonIO
版权申明
本文系作者 @木灵鱼儿 原创发布在木灵鱼儿站点。未经许可,禁止转载。
暂无评论数据