在前几章中,我们已经学习了变量、命名规范以及基本的数据类型(数字、字符串、布尔值)。 到这里,程序已经能"存数据"和"处理数据",但还缺少两个重要的能力------与外界交互 和 类型转换。
这就是本章的主题:
- 如何让程序接收用户输入
- 如何将结果输出到屏幕
- 如何在不同数据类型之间自由转换
掌握这些能力,你的 Python 程序就能"活起来",与用户互动。
一 类型转换(Type Conversion)
在 Python 中,不同类型的数据常常需要互相转换。 例如,用户输入的数字其实是字符串,要进行计算前就得先转成整数。
Python 提供了多种内置转换函数:
函数 | 作用 | 示例 |
---|---|---|
int(x) |
转换为整数 | int("10") → 10 |
float(x) |
转换为浮点数 | float("3.14") → 3.14 |
str(x) |
转换为字符串 | str(100) → "100" |
bool(x) |
转换为布尔值 | bool(0) → False , bool("Python") → True |
示例:字符串转数字
python
num_str = "123"
num_int = int(num_str)
print(num_int + 10) # 133
示例:数字转字符串
python
age = 18
text = "我今年 " + str(age) + " 岁"
print(text)
示例:浮点与整数转换
python
x = 3.7
print(int(x)) # 3(取整,非四舍五入)
print(float(5)) # 5.0
示例:布尔值转换
python
print(bool(0)) # False
print(bool("")) # False
print(bool("Hello")) # True
print(bool(123)) # True
小结: 在 Python 中,空值(如
0
、''
、None
、空列表[]
)都会被视为False
, 其他情况都为True
。
二 输出(Output)
输出就是把程序运行的结果显示给用户。 Python 提供的主要输出函数是 print()
。
1. 基本输出
python
print("Hello, Python!")
输出:
Hello, Python!
2. 同时输出多个内容
print()
可以输出多个变量,用逗号分隔:
python
name = "Tom"
age = 18
print("姓名:", name, "年龄:", age)
输出:
姓名: Tom 年龄: 18
注意:
print()
会在内容之间自动添加一个空格。
3. 控制换行
默认情况下,print()
输出后会自动换行。 如果想在同一行输出,可以设置 end
参数:
python
print("Hello", end=" ")
print("Python")
输出:
Hello Python
4. 使用格式化输出
方法一:f字符串(推荐)
python
name = "Alice"
score = 95
print(f"{name} 的分数是 {score}")
输出:
Alice 的分数是 95
方法二:format()
方法
python
name = "Bob"
age = 20
print("姓名:{} 年龄:{}".format(name, age))
方法三:百分号 %
格式化(早期写法)
python
name = "Tom"
height = 1.75
print("姓名:%s,身高:%.2f 米" % (name, height))
三 输入(Input)
输入就是让用户在程序运行时输入数据。 Python 提供了 input()
函数来实现。
1. 基本用法
python
name = input("请输入你的名字:")
print("你好,", name)
运行结果示例:
请输入你的名字:小明
你好, 小明
2. 输入的数据类型
无论用户输入什么,input()
得到的都是 字符串类型(str)。
python
age = input("请输入年龄:")
print(type(age)) # <class 'str'>
这意味着如果要进行数学运算,必须手动转换:
python
age = int(input("请输入年龄:"))
print("明年你将", age + 1, "岁")
四 综合示例:用户交互程序
让我们编写一个小练习程序,综合使用输入、输出和类型转换。
python
print("=== BMI 计算器 ===")
height = float(input("请输入身高(米):"))
weight = float(input("请输入体重(公斤):"))
bmi = weight / (height ** 2)
print(f"您的BMI指数是:{bmi:.2f}")
if bmi < 18.5:
print("体重过轻")
elif bmi < 24:
print("体重正常")
elif bmi < 28:
print("超重")
else:
print("肥胖")
运行示例:
diff
=== BMI 计算器 ===
请输入身高(米):1.75
请输入体重(公斤):68
您的BMI指数是:22.20
体重正常
五 输入输出的高级技巧
1. 指定分隔符 sep
print()
默认用空格分隔,可以改为其他符号:
python
print("2025", "10", "14", sep="-") # 2025-10-14
2. 控制输出格式
python
pi = 3.1415926
print(f"圆周率约为:{pi:.2f}") # 保留两位小数
3. 多行输入(技巧)
可以在多行输入时添加提示:
python
data = input("请输入数据(可多行,按回车结束):\n")
print("你输入的是:", data)
六 小结
-
类型转换函数
int()
:转整数float()
:转浮点数str()
:转字符串bool()
:转布尔值
-
输入输出函数
input()
:从用户获取输入(结果为字符串)print()
:打印输出结果,支持多种格式化方式
-
常见格式化技巧
- 使用 f 字符串最简洁直观:
print(f"结果是 {value}")
- 控制输出小数位:
{num:.2f}
- 自定义分隔符与结尾:
sep
、end
参数
- 使用 f 字符串最简洁直观:
到这里,你已经学会了让 Python 与用户"对话"。