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://www.gaochengzhenxuan.com/keji/3696.html

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

相关推荐

  • AI赋能办公实战应用课| 4月10-11日开课

    AI变化多端,“学不会、用不好、跟不上”怎么办?AI技术的快速迭代与复杂应用场景的多样化,是不是让你也陷入了这些困境:1、工具选择盲目--AI工具层出不穷、功能各异,用户陷入“试错陷阱”;2、使用技巧缺失--指令交互不精准导致输出偏离需求,直接影响输出效率;3

    2026-04-04
    288
  • 我堂姐年后开了个早餐店,花了12万,才开一个月就关门了,要转让

    年前跟堂姐吃饭,她神神秘秘地跟我说,有个大生意,年后要辞职干个“稳赚不赔”的营生。我当时还替她高兴,觉得她终于肯跳出安稳的工作,闯一把了。谁能想到,才过了一个多月,就收到她发的消息,说店不开了,正在找中介转让,那12万本金,大概率是打了水漂。堂姐今年38岁,之

    2026-04-04
    152
  • 曾毅扔伞耍帅?这波神操作背后,藏着凤凰传奇26年不散的真相

    曾毅扔伞耍帅?这波神操作背后,藏着凤凰传奇26年不散的真相3月28日晚,厦门白鹭体育场,凤凰传奇演唱会唱到第四首歌时,一场暴雨毫无预兆地砸了下来。后台工作人员紧急递上两把伞。曾毅接过伞,扫了一眼台下被浇透的观众,又看了看旁边举着伞的玲花,嘴角一扬,手臂一甩——...

    2026-04-04
    563