源本科技 | 码上会

Python 输入与输出

2026/01/16
8
0

学习目标

  • 掌握 Python 中 input() 函数的基本用法及其返回值类型

  • 熟练使用 print() 函数输出文本、变量和表达式

  • 学会从单行输入中读取多个值,并进行类型转换

  • 理解如何根据需求将字符串输入转换为整数或浮点数

  • 能够使用 type() 函数判断变量的数据类型


输入操作

在 Python 中,input() 函数用于接收用户在运行时输入的数据。无论用户输入什么内容,该函数默认始终返回字符串类型(str)

name = input("请输入您的姓名:")
print("您好,", name, "!欢迎使用本程序!")

运行效果:

请输入您的姓名:CodeMaster
您好, CodeMaster !欢迎使用本程序!

注意:即使用户输入的是数字(如 123),input() 也会将其作为字符串 "123" 返回。


使用 print()

print() 是 Python 中最常用的输出函数,可以打印字符串、变量、表达式等。

打印字符串

print("Hello, World!")

输出:

Hello, World!

打印变量

可以打印单个或多个变量,多个变量之间用逗号分隔:

name = "李明"
age = 30
city = "北京"
print(name, age, city)

输出:

李明 30 北京

print() 会在各参数之间自动插入一个空格,并在末尾换行。


一行输入多个值

有时我们需要让用户在一行中输入多个数据(如两个数字),这时可以结合 split() 方法实现。

示例:输入两个值

x, y = input("请输入两个数值(用空格分隔):").split()
print("男生人数:", x)
print("女生人数:", y)

运行效果:

请输入两个数值(用空格分隔):25 30
男生人数: 25
女生人数: 30

示例:输入三个值

total, boys, girls = input("请输入总人数、男生数、女生数(空格分隔):").split()
print("总人数:", total)
print("男生人数:", boys)
print("女生人数:", girls)

注意:split() 返回的是字符串列表。如果需要数值运算,必须进行类型转换。


改变输入的数据类型

由于 input() 总是返回字符串,若需整数或浮点数,必须显式转换(即“类型转换”或“类型强制转换”)。

输入整数

n = int(input("请输入玫瑰花的数量:"))
print("您输入的数量是:", n)

运行效果:

请输入玫瑰花的数量:88
您输入的数量是: 88

输入浮点数

price = float(input("请输入每朵玫瑰的价格:"))
print("单价为:", price)

运行效果:

请输入每朵玫瑰的价格:50.3
单价为: 50.3

提示:若用户输入非数字内容(如字母),int()float() 会抛出 ValueError 异常。实际开发中建议加入异常处理。


查看变量的数据类型

使用内置函数 type() 可以查看任意变量的数据类型。

a = "Hello World"        # 字符串
b = 10                   # 整数
c = 11.22                # 浮点数
d = ("Code", "for", "Life")  # 元组
e = ["Code", "for", "Life"]  # 列表
f = {"Code": 1, "for": 2, "Life": 3}  # 字典

print(type(a))
print(type(b))
print(type(c))
print(type(d))
print(type(e))
print(type(f))

输出结果:

<class 'str'>
<class 'int'>
<class 'float'>
<class 'tuple'>
<class 'list'>
<class 'dict'>

重点总结

  • input() 函数始终返回字符串,需手动转换为 intfloat 才能进行数学运算。

  • print() 支持多参数输出,自动以空格分隔,并在结尾换行。

  • 使用 str.split() 可将一行输入拆分为多个字符串,适用于批量输入场景。

  • 类型转换常用函数:int(), float(), str()

  • type() 是诊断变量类型的实用工具。


思考题

  1. 如果用户在输入数字时不小心输入了字母(例如输入 "abc" 而非 "123"),程序会发生什么?如何避免程序崩溃?

  2. 如何修改代码,使得用户输入的多个数字(如 "10 20 30")能直接存储为整数列表 [10, 20, 30]

  3. print("A", "B", sep="-", end="!") 的输出结果是什么?尝试解释 sepend 参数的作用。