在处理数据时合理选择数据类型可以提高运算速度,本文主要介绍Python常见的内置数据类型,结合了基础概念、核心特性以及内存优化方法。
一、基本数据类型
数值类型
• 整数(int):如 5, -100,支持大数运算且无位数限制。
• 浮点数(float):如 3.14, -0.5,但需注意浮点数精度问题(如 0.1 + 0.2 = 0.30000000000000004)。
• 复数(complex):如 1 + 2j,常用于科学计算。
布尔型(bool)仅有两个值:True 和 False,用于逻辑判断。
字符串(str)
• 用单引号、双引号或三引号定义,支持拼接、切片等操作:
s = "Hello"
print(s[0:2]) # 输出 "He"
• 三引号可用于多行字符串,也可以用作注释
二、容器类型
列表(list)
• 可变、有序集合,用方括号 [] 定义,可包含不同类型元素:
fruits = ["苹果", 3.14, True]
fruits.append("葡萄") # 添加元素
• 底层为动态数组,自动扩容以提高性能。
元组(tuple)
• 不可变、有序集合,用圆括号 () 定义。若元素为可变对象(如列表),其内容仍可修改:
t = (1, [2, 3])
t[1].append(4) # 合法,结果为 (1, [2, 3, 4])
``` 。
字典(dict)
• 键值对集合,用花括号 {} 定义,键必须为不可变类型(如字符串、元组):
person = {"name": "Alice", "age": 25}
• 基于哈希表实现,查询速度极快(时间复杂度 O(1))。
集合(set)
• 无序、元素唯一,用 {} 或 set() 定义:
nums = {1, 2, 2, 3} # 自动去重,结果为 {1, 2, 3}
``` 。
三、其他类型
None类型• 表示空值或不存在的值,常用于初始化变量或函数默认返回值。
二进制类型• bytes:不可变的字节序列,如 data = b"hello"。 • bytearray:可变的字节序列。
四、类型检查与转换
• 检查类型:使用 type() 函数(如 type(10) 输出 <class 'int'>)。
• 类型转换:通过 int(), str(), list() 等函数转换
五、特性与注意事项
• 动态类型:变量类型可随时改变(如 x = 10 后 x = "hello")。
• 不可变性:元组、字符串等不可变类型的变量本身无法修改,但可能包含可变元素。
• 哈希性:字典的键和集合的元素必须为不可变类型(如整数、元组)。
六、常见内置函数
print()
打印输出内容,支持多参数和格式化输出。
print("Hello, World!") # 输出: Hello, World!
input()
接收用户输入,返回字符串类型。
name = input("请输入姓名:") # 用户输入保存为字符串
数据结构转换
• list():转为列表(list("abc") → ['a', 'b', 'c'])
• dict():创建字典(dict(name='Alice') → {'name': 'Alice'})
• set():去重生成集合(set([1,2,2,3]) → {1, 2, 3})
统计与极值
• sum():求和(sum([1,2,3]) → 6)
• max() / min():返回最大/最小值(max([5,3,9]) → 9)
• abs():绝对值(abs(-10) → 10)
计算与舍入
• round():四舍五入(round(3.1415, 2) → 3.14)
• pow():幂运算(pow(2, 3) → 8,支持取余参数)
• divmod():返回商和余数(divmod(10, 3) → (3, 1))
序列处理
• len():返回对象长度(len("hello") → 5)
• sorted():排序(sorted([5,3,1]) → [1, 3, 5])
• reversed():反转序列(list(reversed([1,2,3])) → [3,2,1])
迭代工具
• range():生成整数序列(range(1,5) → 1,2,3,4)
• zip():合并多个可迭代对象(zip([1,2], ['a','b']) → (1,'a'), (2,'b'))
• enumerate():返回索引与值(enumerate(['a','b']) → (0,'a'), (1,'b'))
高阶函数
• map():应用函数到序列(list(map(str.upper, ['a','b'])) → ['A','B'])
• filter():筛选符合条件的元素(list(filter(lambda x: x>3, [1,4,2])) → [4])
逻辑判断
• any():至少一个元素为真(any([0,1,0]) → True)
• all():所有元素为真(all([1,0,1]) → False)
类型操作
• type():返回对象类型(type(42) → int)
• isinstance():检查对象类型(isinstance(3.14, float) → True)
属性与调用
• callable():判断对象是否可调用(callable(print) → True)
• getattr() / setattr():动态获取/设置对象属性
文件操作
• open():打开文件(with open("file.txt", "r") as f: ...)
进制转换
• bin() / hex() / oct():转为二进制/十六进制/八进制字符串(bin(10) → '0b1010')
更多相关技术内容咨询欢迎前往并持续关注好学星城论坛了解详情。
想高效系统的学习Python编程语言,推荐大家关注一个微信公众号:Python编程学习圈。每天分享行业资讯、技术干货供大家阅读,关注即可免费领取整套Python入门到进阶的学习资料以及教程,感兴趣的小伙伴赶紧行动起来吧。
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!