Python数据类型详解:从入门到实战

1. 数据类型概述

Python作为动态类型语言,虽然不需要显式声明变量类型,但理解数据类型对编写高效代码至关重要。Python内置数据类型可分为:

  • 数值型:int, float, complex

  • 序列型:str, list, tuple

  • 映射型:dict

  • 集合型:set, frozenset

  • 布尔型:bool

  • 空类型:NoneType

2. 基础数据类型详解

2.1 数值类型

# 整型(int)
age = 25  
print(type(age))  # <class 'int'>

# 浮点型(float)
price = 19.99
print(type(price))  # <class 'float'>

# 复数(complex)
z = 3 + 4j
print(z.real)  # 实部 3.0
print(z.imag)  # 虚部 4.0

2.2 字符串(str)

text = "Hello Python!"
multi_line = """这是
多行
字符串"""

# 常用操作
print(text[0])      # H (索引)
print(len(text))    # 13 (长度)
print("Py" in text) # True (包含检查)

2.3 布尔型(bool)

is_active = True
is_admin = False

# 布尔运算
print(5 > 3)    # True
print(not True) # False

3. 复合数据类型

3.1 列表(list) - 可变序列

fruits = ["apple", "banana", "cherry"]
fruits.append("orange")  # 添加元素
print(fruits[1:3])      # 切片 ['banana', 'cherry']

3.2 元组(tuple) - 不可变序列

colors = ("red", "green", "blue")
# colors[0] = "yellow"  # 报错!元组不可变

3.3 字典(dict) - 键值对集合

user = {
    "name": "Alice",
    "age": 30,
    "is_vip": True
}
print(user.get("name"))  # Alice

3.4 集合(set) - 唯一元素集合

unique_nums = {1, 2, 3, 2}  # 自动去重
print(unique_nums)          # {1, 2, 3}

4. 特殊类型

4.1 None类型

result = None
if result is None:  # 推荐使用is判断None
    print("结果未设置")

5. 类型转换与检查

# 类型转换
num_str = "123"
num_int = int(num_str)

# 类型检查
print(isinstance(3.14, float))  # True

6. 数据类型内存特性对比

类型可变性有序性重复性示例
list可变有序允许[1,2,2]
tuple不可变有序允许(1,2,2)
dict可变无序键不可重复{"a":1}
set可变无序元素唯一{1,2}

7. 实战技巧

  1. 列表推导式快速生成数据:

squares = [x**2 for x in range(5)]  # [0, 1, 4, 9, 16]
  1. 字典合并(Python 3.9+):

dict1 = {"a": 1}
dict2 = {"b": 2}
merged = dict1 | dict2  # {'a': 1, 'b': 2}
  1. 集合运算

A = {1, 2, 3}
B = {3, 4, 5}
print(A & B)  # 交集 {3}

总结

掌握Python数据类型是编程基础,建议:

  1. 理解可变/不可变类型的区别

  2. 熟练使用类型转换方法

  3. 根据场景选择合适的数据结构

  4. 注意深浅拷贝问题(特别是list/dict)

小测试:以下代码输出什么?

mixed = [1, "two", [3], {"four": 4}]
print(type(mixed[3]))

欢迎在评论区留下你的答案和数据类型相关的问题!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值