前言

在 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)

参数说明

  1. *objects (位置参数):

    • 含义: 这是一个可变参数,表示你可以一次性传入多个对象,print 会自动将它们转换为字符串并输出。
    • 默认: 无。
  2. sep (分隔符):

    • 含义: 当你传入多个对象时,用来隔开这些对象的字符。
    • 默认值: ' ' (空格)。
  3. end (结束符):

    • 含义: 打印完所有内容后,自动追加的字符。
    • 默认值: '\n' (换行符)。这就是为什么每次调用 print 都会自动换行。
  4. file (输出流):

    • 含义: 指定输出的位置。
    • 默认值: sys.stdout (控制台)。你可以将其修改为文件对象,从而将内容写入文件。
  5. 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() 函数。

写入文件 (printfile 参数技巧)

你可以直接利用 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

评论

暂无评论数据

暂无评论数据

目录