2·模块一:环境与基础入门

变量、数据类型与运算符

variablesdata-typesoperators

Python 编程:从零基础到精通

第 2 课 - 变量、数据类型与运算符

所属模块: 模块一:环境与基础 难度: beginner 标签: variables, data-types, operators 上一课: Python 简介与环境搭建 下一课: 字符串操作与格式化


1. 学习目标

完成本课学习后,你将能够:

  • 理解并创建 Python 变量,为其赋值。
  • 识别并使用 Python 中的四种基本数据类型:整型、浮点型、字符串型和布尔型。
  • 运用算术、比较和赋值运算符进行基本计算和逻辑判断。
  • 使用 input() 函数获取用户输入,并进行简单的类型转换。
  • 理解类型转换在数据处理中的重要作用。

2. 核心概念

2.1 变量:数据的"标签"

变量就像给数据贴上的一个名字标签。你可以通过 = 号(赋值运算符)将一个值"贴"到一个名字上。

# 创建一个名为 `age` 的变量,并将整数 25 赋值给它
age = 25
# 创建一个名为 `name` 的变量,并将字符串 "Alice" 赋值给它
name = "Alice"

变量名必须以字母或下划线 _ 开头,且区分大小写 (Ageage 是两个不同的变量)。建议使用有意义的英文单词或缩写。

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 运算符:数据的"工具"

运算符用来对数据进行操作。

  • 算术运算符: 进行数学计算。
    • + (加), - (减), * (乘), / (除,结果为浮点数),// (整除,只取整数部分),% (取余),** (幂运算)
  • 比较运算符: 比较两个值,返回布尔值 TrueFalse
    • == (等于), != (不等于), > (大于), < (小于), >= (大于等于), <= (小于等于)
  • 赋值运算符: 最常用的是 =,也有如 +=, -= 等复合赋值运算符。
    • 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 = 10width = 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. 常见错误

  1. 变量未定义/拼写错误: 使用一个从未赋值过的变量名,或赋值与使用的变量名大小写不一致。
    print(Name) # 错误!Name 未定义。之前赋值的是 `name`。
    
  2. 整数除法 (/) 与取余 (%) 的混淆: 记住 / 结果总是浮点数,而 // 是整除。计算奇偶性时常用 %
    print(7 / 2)   # 3.5
    print(7 // 2)  # 3
    print(7 % 2)   # 1
    
  3. 忘记 input() 返回的是字符串: 直接对 input() 的结果进行数学运算会导致 TypeError
    num = input("输入数字: ")
    result = num * 2 # 错误!num 是字符串,`*` 会让它重复两次,如 `"55"`
    # 正确做法:
    num = int(input("输入数字: "))
    result = num * 2
    
  4. 变量命名不规范: 使用拼音、无意义的单个字母(如 a, b, x)或与关键字冲突的名称(如 class, list),会降低代码可读性。应使用描述性的英文单词(如 student_name, total_score)。

6. 小结

本课我们掌握了 Python 编程的基石:

  • 变量:通过 = 赋值来存储数据,是程序记忆信息的方式。
  • 数据类型:决定了数据的性质和可执行的操作,主要有 int, float, str, bool
  • 运算符
    • 算术运算符 用于数学计算。
    • 比较运算符 用于逻辑判断,返回 bool 值。
    • 赋值运算符 用于给变量赋值。
  • 输入与输出:使用 input() 接收用户输入(始终为字符串),使用 print() 输出信息。
  • 类型转换:使用 int(), float(), str() 等函数,可以在不同数据类型间进行转换,这是处理用户输入的关键步骤。

记住,变量是名字,类型是形状,运算符是工具。熟练掌握它们,你就能用 Python 表达和解决简单的现实问题了。在下一课中,我们将深入探索字符串这种重要数据类型的更多操作技巧。

练习编辑器

python
Loading...

继续学习

完成本课后,建议继续学习下一课「字符串操作与格式化」 以巩固所学知识。