Python3数据类型全解析:不变与可变一次看懂

01六大数据类型速览

Python3 把内存管理做得足够透明,却让类型差异成为性能与逻辑的隐形杠杆。先记住六兄弟的名字:

Number(数字)

String(字符串)

List(列表)

Tuple(元组)

Set(集合)

Dictionary(字典)

02不可变三剑客:改变它们只会生成新对象

2.1 ► 数字(Number)

Python3 里整数只有一个类型 int,不存在 long。布尔值 boolint 的子类,可以与数字做加减乘除,但别忘了 True + False 会得到 1 而不是 True

```python

a, b, c, d = 20, 1.5, True, 4+2j

print(type(a))

print(type(b))

print(type(c))

print(type(d))

```

想精确判断 int 类型,用 isinstance()type() 更灵活:后者不会把子类当父类,前者会。

2.2 ► 字符串(String)与元组(Tuple)

字符串与元组一旦创建,任何尝试修改的操作都会返回新的对象。例如 s = "hello"; s += " world" 之后,s 指向了一个全新的字符串。元组同样如此,t = (1, 2); t[0] = 3 会报错,因为元组不支持就地修改。

03可变三兄弟:在原地改头换面

3.1 ► 列表(List)

列表是最典型的可变数据结构,元素可以随时增删改。它的方法丰富到可以当小型数据库用,但也要警惕循环引用带来的内存泄漏。

3.2 ► 字典(Dictionary)

字典以键值对形式存储,值可以随时被替换,甚至键也能动态增删。它查得快、改得快,是函数默认参数和闭包最爱的容器。

3.3 ► 集合(Set)

集合里的元素唯一,既不允许重复也不允许重复的子集。它最擅长大规模去重与交并差运算,但要注意不可哈希的限制——字典的键必须是可哈希类型。

04类型转换:从 int 到 float,再到 bool 的日常把戏

把整数变浮点:float(1)1.0

把浮点变整数:int(1.9)1(向下取整),int(1.8)1(舍弃小数)

复数部分由 a + bjcomplex(a, b) 生成,实部与虚部均为浮点。

Python 在混合运算时会把整数自动提升为浮点,所以 4 / 2 结果是 2.0 而不是 2;若想强制整除,用双斜杠 //

一行多赋值、类型可变的特性让 Python 代码既简洁又灵活,却也埋下了类型推断的陷阱——写函数时务必注明参数类型与返回类型,用类型注解给 IDE 一条明路。

原创文章,作者:马超,如若转载,请注明出处:http://m.gaochengzhenxuan.com/keji/3696.html

(0)
马超马超
上一篇 2026-02-13
下一篇 2026-02-13

相关推荐

  • 赣州三农赣州市春耕农机作业提示

    当前正值春耕生产关键时期,也是强对流天气多发季节。为切实抓好农机化生产服务,保障早稻生产任务落实,现结合近期调研情况,提示农机作业有关事项。各县(市、区)要切实增强责任意识,细化工作措施,全力保障春耕生产顺利进行。一、优化服务保障,提升农机作业效能聚焦春耕生产

    2026-04-03
    326
  • 董家鸿教授赴嘉 为七旬老人破解“5...

    (来源:嘉兴日报)转自:嘉兴日报   ■图/文 秦红波  近日,一场跨越千里的生命接力在嘉兴市第二医院成功进行。一位历经六次胆道手术、与胆石症抗争长达半个世纪的七旬老人,在国际著名肝胆外科、肝脏移植专家,北京清华长庚医院院长,嘉兴市第二医院、长三角国际医学中心

    2026-04-03
    871
  • 军装换西装!敏昂莱辞职竟是宪法“强制操作”?三重保险已备好,总统宝座稳了?

    2026年3月30日,缅甸首都内比都的泽亚迪依大厅里,一场象征性的金剑交接仪式正在举行。执掌缅甸国防军整整15年的总司令敏昂莱,亲手将象征最高军权的佩剑和旗帜,交给了原陆军总司令耶温乌。现场鸣放19响礼炮,荣誉部队列队致敬,场面庄重而肃穆。几乎就在同一时间,另...

    2026-04-03
    761