Python 编程:从零基础到精通
第 2 课 - 变量、数据类型与运算符
所属模块: 模块一:环境与基础 难度: beginner 标签: variables, data-types, operators 上一课: Python 简介与环境搭建 下一课: 字符串操作与格式化
1. 学习目标
完成本课学习后,你将能够:
- 理解并创建 Python 变量,为其赋值。
- 识别并使用 Python 中的四种基本数据类型:整型、浮点型、字符串型和布尔型。
- 运用算术、比较和赋值运算符进行基本计算和逻辑判断。
- 使用
input()函数获取用户输入,并进行简单的类型转换。 - 理解类型转换在数据处理中的重要作用。
2. 核心概念
2.1 变量:数据的"标签"
变量就像给数据贴上的一个名字标签。你可以通过 = 号(赋值运算符)将一个值"贴"到一个名字上。
# 创建一个名为 `age` 的变量,并将整数 25 赋值给它
age = 25
# 创建一个名为 `name` 的变量,并将字符串 "Alice" 赋值给它
name = "Alice"
变量名必须以字母或下划线 _ 开头,且区分大小写 (Age 和 age 是两个不同的变量)。建议使用有意义的英文单词或缩写。
2.2 数据类型:数据的"容器"形状
Python 中的数据有不同的"形状"(类型),决定了你可以对它做什么操作。
- 整型 (
int): 整数,如10,-3,0。 - 浮点型 (
float): 小数,如3.14,-0.5,10.0。 - 字符串型 (
str): 文本数据,用引号包围,如"Hello",'Python',"123"。 - 布尔型 (
bool): 逻辑值,只有True(真)或False(假)。
你可以使用 type() 函数来查看一个变量或值的类型。
age = 25
print(type(age)) # 输出: <class 'int'>
price = 19.99
print(type(price)) # 输出: <class 'float'>
is_student = True
print(type(is_student)) # 输出: <class 'bool'>
2.3 运算符:数据的"工具"
运算符用来对数据进行操作。
- 算术运算符: 进行数学计算。
+(加),-(减),*(乘),/(除,结果为浮点数),//(整除,只取整数部分),%(取余),**(幂运算)
- 比较运算符: 比较两个值,返回布尔值
True或False。==(等于),!=(不等于),>(大于),<(小于),>=(大于等于),<=(小于等于)
- 赋值运算符: 最常用的是
=,也有如+=,-=等复合赋值运算符。x += 5等价于x = x + 5
2.4 输入与输出:与用户交互
- 输出
print(): 我们一直在用的,将信息显示在屏幕上。 - 输入
input(): 会暂停程序,等待用户输入,并总是返回一个字符串。
user_input = input("请输入你的年龄: ") # 程序会在这里等待,你输入后按回车
print(f"你输入了: {user_input}")
print(type(user_input)) # 无论输入什么,都是 <class 'str'>
因此,如果要进行数学计算,必须将字符串转换为数字类型。
age_str = input("请输入你的年龄: ")
age_num = int(age_str) # 使用 int() 函数将字符串转换为整数
print(f"明年你将 {age_num + 1} 岁")
3. 代码示例
以下是一个综合示例,演示了变量、数据类型、运算符和输入输出。
# === 综合示例:简单计算器 ===
print("欢迎使用简单计算器!")
# 获取用户输入的两个数字(字符串)
num1_str = input("请输入第一个数字: ")
num2_str = input("请输入第二个数字: ")
# 进行类型转换:将字符串转为浮点数(以支持小数)
num1 = float(num1_str)
num2 = float(num2_str)
# 使用各种运算符进行计算
sum_result = num1 + num2
diff_result = num1 - num2
product_result = num1 * num2
# 处理除以零的错误情况
if num2 != 0:
division_result = num1 / num2
print(f"{num1} / {num2} = {division_result}")
else:
print("错误:除数不能为零!")
# 输出结果
print(f"{num1} + {num2} = {sum_result}")
print(f"{num1} - {num2} = {diff_result}")
print(f"{num1} * {num2} = {product_result}")
# 比较运算
print(f"{num1} 大于 {num2} 吗?{num1 > num2}")
4. 实践练习
练习 1:基础变量与运算
创建两个变量 length = 10 和 width = 5,计算并打印它们的面积 (area) 和周长 (perimeter)。
预期输出:
面积: 50
周长: 30
练习 2:温度转换器
编写一个程序,提示用户输入一个摄氏温度(Celsius),然后将其转换为华氏温度(Fahrenheit)并打印结果。
转换公式:F = (C * 9/5) + 32
预期交互示例:
请输入摄氏温度: 100
100.0 摄氏度等于 212.0 华氏度。
练习 3:年龄计算器(进阶)
编写一个程序,提示用户输入出生年份(birth_year),然后根据当前年份(你可以用代码 current_year = 2024 固定一个值,或尝试用其他方式获取)计算并打印用户的大致年龄。最后,用一个比较运算符判断该用户是否已满18岁,并输出判断结果。
预期交互示例:
请输入你的出生年份: 1990
你的年龄大约是: 34
已满18岁: True
5. 常见错误
- 变量未定义/拼写错误: 使用一个从未赋值过的变量名,或赋值与使用的变量名大小写不一致。
print(Name) # 错误!Name 未定义。之前赋值的是 `name`。 - 整数除法 (
/) 与取余 (%) 的混淆: 记住/结果总是浮点数,而//是整除。计算奇偶性时常用%。print(7 / 2) # 3.5 print(7 // 2) # 3 print(7 % 2) # 1 - 忘记
input()返回的是字符串: 直接对input()的结果进行数学运算会导致TypeError。num = input("输入数字: ") result = num * 2 # 错误!num 是字符串,`*` 会让它重复两次,如 `"55"` # 正确做法: num = int(input("输入数字: ")) result = num * 2 - 变量命名不规范: 使用拼音、无意义的单个字母(如
a,b,x)或与关键字冲突的名称(如class,list),会降低代码可读性。应使用描述性的英文单词(如student_name,total_score)。
6. 小结
本课我们掌握了 Python 编程的基石:
- 变量:通过
=赋值来存储数据,是程序记忆信息的方式。 - 数据类型:决定了数据的性质和可执行的操作,主要有
int,float,str,bool。 - 运算符:
- 算术运算符 用于数学计算。
- 比较运算符 用于逻辑判断,返回
bool值。 - 赋值运算符 用于给变量赋值。
- 输入与输出:使用
input()接收用户输入(始终为字符串),使用print()输出信息。 - 类型转换:使用
int(),float(),str()等函数,可以在不同数据类型间进行转换,这是处理用户输入的关键步骤。
记住,变量是名字,类型是形状,运算符是工具。熟练掌握它们,你就能用 Python 表达和解决简单的现实问题了。在下一课中,我们将深入探索字符串这种重要数据类型的更多操作技巧。