2025年1.定长类型和变长类型

1.定长类型和变长类型Python 中一切皆对象 而一切对象皆有类型 而类型对象也有类型 理解起来有点绕 常用的类型有 int float long string list tuple dict 这些 而我们可以将这些类型分为以下 2 类 1 定长类型 int float long 这些都是定长类型

大家好,我是讯享网,很高兴认识大家。

Python中一切皆对象,而一切对象皆有类型,而类型对象也有类型,理解起来有点绕!

常用的类型有int、float、long、string、list、tuple、dict这些,而我们可以将这些类型分为以下2类:

1. 定长类型

int、float、long这些都是定长类型,且是不可变类型,即我们无法对这些类型的对象进行原地修改,我们通常看到的修改都是通过创建一个新的对象来实现的; 如下我们对一个long型的变量a进行加1操作,我们可以看到a所指对象的内存地址发生了变化

>>> a=100l >>> type(a) <type 'long'> >>> id(a) 6432 >>> a+=1 >>> id(a) 6464

讯享网

2. 变长类型

string、list、tuple、dict这些属于变长类型,我们所谓的定长变长并非指对象占用的内存是否可变,而是指对象中包含的基本元素个数在创建时是否固定;举栗子,int在创建时永远只会包含1个基本元素(整数),而string在创建时可以包含任意个基本元素(字符),所以通常来说容器类型都属于变长类型


讯享网

变长类型可继续分为可变类型和不可变类型:

string和tuple是典型的不可变类型,而list和dict则是可变类型

我们在学习CPython源码时要对定长变长类型概念有所理解,那么在查看objects的实现时才会不感到迷糊;

而可变不可变类型的理解则对我们编写Python脚本大有裨益

小讯
上一篇 2025-03-24 21:08
下一篇 2025-01-29 16:49

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/12861.html