11、Python数据类型与运算符详解:从基础到避坑实战

发布于:2025-05-10 ⋅ 阅读:(13) ⋅ 点赞:(0)

适合人群:零基础自学者 | 编程小白快速入门
阅读时长:约8分钟

一、问题:Python基本数据类型?

1、例子1:生活化比喻理解数据类型

比喻解析

  • 整型(int):像不可分割的积木块 → 100
  • 浮点型(float):像带刻度的卷尺 → 3.14
  • 布尔型(bool):像电路开关 → True/False
  • 字符串(str):像可拼接的字母积木 → "Hello"
# Python
# 数据类型验证
price = 99          # 积木块(整型)
weight = 3.75       # 卷尺(浮点型)
is_available = True # 开关(布尔型)
name = "奶茶"        # 字母积木(字符串)

print(type(price), type(weight), type(is_available), type(name))
# 输出:<int> <float> <bool> <str>

2、答案:

(1)基本的内置数据类型

在这里插入图片描述

  1. Python中变量没有类型,但是对象都有类型
  2. Python中最基本的内置数据类型
    1. 整型 int :就是“整数”, 2341099
    2. 浮点型 float :就是“小数”或者“科学计数法”, 3.14314e-2
    3. 布尔型 bool :表示真假,仅包含 TrueFalse 。使用函数bool(value) ,将其他类型转型布尔类型的 TrueFalse
    4. 字符串型 str :由字符组成的序列。 "abc", "sft" , "小米" ,"华为"

二、问题:Python基本运算符的使用?

1、例子1:超市购物车计算

# 商品单价与数量
price = 15.9        # 浮点型(带小数价格)
quantity = 3        # 整型(购买数量)

total = price * quantity  
print(f"总价:{total:.2f}元")  # 输出:总价:47.70元(保留两位小数)

# 错误案例:浮点数精度问题
print(0.1 + 0.2)  # 输出:0.30000000000000004 → 需要使用decimal模块解决(精确计算场景)
# 原因:二进制浮点数精度丢失 → 需用decimal模块解决精确计算问题

2、例子2:常见运算符陷阱

# 整数除法与取模陷阱  
print(7 // 2)    # 输出:3(地板除)  
print(-7 // 2)   # 输出:-4(向下取整)
# 解释:Python的整数除法是向下取整,-7/2=-3.5 → 向下取整为-4
print(divmod(7, 2))   # 输出:(-3, 2) → 商-3,余数2
print(7 % 3)    # 输出:1 → (7//3=2, 余数=7-3*2=1)
a=3/0 #报错:ZeroDivisionError: division by zero

# 幂运算优先级  
print(3 ** 2 * 2)   # 输出:18(等价于(3^2)*2)  
print(3 ** (2 * 2)) # 输出:81(等价于3^4)  

3、答案:

(1)基本运算符

Python支持整数和浮点数,可以对数字做如下运算。

运算符 说明 示例 结果
+ 加法 3+2 5
- 减法 30-5 25
* 乘法 3*6 18
/ 浮点数除法 8/2 4.0
// 整数除法 7//2 3
% 模(取余) 7%4 3
** 幂(乘方) 2**3 8

(2)⚠ 新手注意

  1. 除数为 0 ,会产生异常: ZeroDivisionError: division by zero
  2. 使用 divmod() 函数同时得到商和余数,它返回的是一个元组。

三、动手试一试

  1. 温度单位转换。
# 将摄氏温度转为华氏温度(公式:F = C×1.8 + 32)  
celsius = 37.5  
fahrenheit = ______  # 补全代码  
print(f"体温:{celsius}℃ = {fahrenheit}℉")  

参考答案:

fahrenheit = celsius * 1.8 + 32 # 输出:体温:37.5℃ = 99.5℉
  1. 奇偶数判断。
num = 42  
is_even = ______  # 使用取模运算符判断奇偶  
print(f"{num}是偶数吗?{is_even}")  

参考答案:

is_even = (num % 2 == 0)  # 返回布尔值,True表示偶数
# 逻辑解析:余数为0 → 偶数(True),否则为奇数(False)

📢 互动区
👉 遇到问题?在评论区:

  1. 描述问题(带代码截图更好)
  2. 分享学习心得
  3. 给文章提建议

支持作者:点赞 | 收藏 | 关注
你的三连是我更新的最大动力!



网站公告

今日签到

点亮在社区的每一天
去签到