一、引言
本章介绍数据类型转换和常见注意事项!避坑指南!
💡 避开常见坑,编程更轻松!
二、显式类型转换
# 1. 转整数 int
print(int("123")) # 123
print(int(3.14)) # 3
# 2. 转浮点数 float
print(float("3.14")) # 3.14
print(float(5)) # 5.0
# 3. 转字符串 str
print(str(123)) # "123"
# 4. 转列表 list
print(list("hello")) # ['h','e','l','l','o']
# 5. 转集合 set
print(set([1,2,2,3])) # {1,2,3}
三、可变与不可变类型
# 不可变类型:数值、字符串、元组
# 可变类型:列表、字典、集合
# 不可变例子:字符串
s = "hello"
# s[0] = "H" # 报错!不可变
# 可变例子:列表
lst = [1,2,3]
lst[0] = 100 # 可以修改!
四、引用与拷贝
# 赋值是引用!
a = [1,2,3]
b = a
b[0] = 100
print(a) # 也变成了 [100,2,3]
# 浅拷贝
import copy
c = copy.copy(a)
c[0] = 200
print(a) # 不变
# 深拷贝(嵌套用
d = copy.deepcopy(a)
五、常见陷阱
# 1. 不要用内置名作为变量名
# list = [1,2,3] # 坏!后面不能用 list() 了!
# 2. 浮点数精度问题
print(0.1 + 0.2) # 0.30000000000000004,不是0.3!
# 3. 默认参数只初始化一次
def func(lst=[]):
lst.append(1)
return lst
print(func()) # [1]
print(func()) # [1,1],还是同一个列表!
六、课后练习题
# 练习 1:把字符串 "123" 转成整数,再加 10
# 练习 2:创建两个列表,理解引用和拷贝的区别
# 练习 3:写出3个常见坑的例子
总结
通过本章学习,你应该已经掌握了「数据类型转换与常见坑点」的相关知识。
模块5完成!下一章学习函数!