Python 输入输出(IO)简明教程

刚接触编程,最先要搞懂的肯定是「和程序说话」——让程序按你的想法输出东西,再让它听懂你说的话。Python在这方面的设计非常友好,没有复杂的语法门槛。


一、输出 Output:把程序的「话」打印出来

Python 里的核心输出工具只有一个:print() 函数,用起来随手可得。

1.1 基础单值输出

不管是字符串、数字、布尔值,还是简单的计算表达式,直接塞进括号里就行:

# 输出字符串,注意加引号!
print('hello, python')
print("单双引号都可以哦")

# 输出整数、浮点数
print(2024)
print(13.14)

# 输出计算结果,程序会先算完再打印
print(1024 * 768)

1.2 多参数批量输出

如果要同时打印好几个内容,不用拼接字符串,直接用逗号分隔参数就行——Python 默认会在中间加空格,结尾加换行

print('The', 'quick', 'brown', 'fox', 'jumps', 'over', 'the', 'lazy', 'dog')
# 输出结果:The quick brown fox jumps over the lazy dog

1.3 优雅的格式化输出 f-string

虽然用逗号批量打印很方便,但要把变量/计算结果「嵌」进一段完整的话里,f-string(格式化字符串字面量) 才是 Python 3.6+ 最推荐的写法——语法直观,代码好读:

width = 1024
height = 768
# 在字符串前加 f/F,用 {} 包裹变量/表达式
print(f"屏幕分辨率是:{width} × {height},总像素为 {width * height}")

二、输入 Input:让程序「听」你说话

Python 的核心输入工具也只有一个:input() 函数,它会暂停程序,等你在终端输入完回车后,再继续执行。

2.1 基础静默输入

不带任何参数时,程序会直接等你输入,终端上不会有任何提示:

# 先运行程序,然后打字,按回车结束
name = input() 
print(name)

2.2 带友好提示的输入

最好给用户加个提示,避免不知道要输入什么——直接把提示文本塞进 input() 括号就行:

name = input("请输入你的昵称:")
print(f"欢迎来到 Python 世界,{name}👋")

2.3 输入类型转换(重点易错点)

⚠️ 注意:不管你输入的是数字、字母还是符号,input() 永远返回字符串类型!如果要用来做数学运算,必须手动转成 int(整数)或 float(浮点数):

# 先输入提示,再转类型
age = int(input("请输入你的年龄:"))
next_year_age = age + 1
print(f"明年你就 {next_year_age} 岁啦!")

height = float(input("请输入你的身高(米):"))
print(f"你的身高是 {height}m")

三、快速铺垫:变量基础

要把输入/计算的结果存起来反复用,就得用到变量——它就像个带名字的「储物盒」,可以存各种类型的数据:

# 整数
year = 2024
# 浮点数
pi = 3.14159
# 字符串(单/双引号都可,三引号可以存多行)
address = '北京市朝阳区'
# 布尔值(只有 True/False 两个值,注意首字母大写)
is_student = True

四、综合小例子:简易加减乘除计算器

把刚才学的输出、输入、变量、类型转换结合起来,写个能用的小工具练手:

# 1. 获取用户输入的两个数字并转类型
num1 = float(input("请输入第一个数字:"))
num2 = float(input("请输入第二个数字:"))

# 2. 做计算并打印格式化结果
print("-" * 20)  # 打印分隔线
print(f"{num1} + {num2} = {num1 + num2}")
print(f"{num1} - {num2} = {num1 - num2}")
print(f"{num1} × {num2} = {num1 * num2}")  # Python 3 直接用 × 也没问题,但建议用 * 更通用
print(f"{num1} ÷ {num2} = {num1 / num2}")

五、现代 Python IO 小建议

  1. 优先用 f-string 代替旧的 % 格式化或 str.format(),代码更简洁
  2. 加上基础的输入验证(比如判断输入的是不是数字),不然程序容易报错崩溃
  3. 加类型注解(Python 3.5+),虽然不影响运行,但自己和别人读代码都更清楚:
    def greet_user() -> None:
        """向用户问好的简单函数"""
        name: str = input("请输入你的名字:")
        print(f"你好,{name}!")
    
    if __name__ == '__main__':
        greet_user()
  4. 如果需要更酷炫的终端交互(比如彩色文字、进度条),可以用第三方库 richclick

总结

  • print():输出任意内容,支持单/多参数、f-string
  • input():获取用户输入,永远返回字符串,记得做类型转换
  • ✅ 变量:存数据的「带名字的盒子」
  • ✅ 最佳实践:用 f-string、加提示、加类型注解