【python】可变变量与不可变变量

不可变类型(如整数和字符串)

当您创建一个不可变对象(如整数、字符串)时,Python实际上是将这个值存储在内存中的某个位置,并将变量名指向这个值。例如:

lens = 10
count = lens

在这种情况下,lens 和 count 都指向内存中的同一个值 10。但是,不可变类型的关键特点是它们的值不能被改变。当您执行 count += 1 时,Python会创建一个新的整数对象 11 并更新 count 指向这个新对象。lens 仍然指向原来的整数对象 10。这就是为什么更改 count 的值不会影响 lens。
常见的不可变类型包括:

  • 整数(Integers)
  • 浮点数(Floats)
  • 字符串(Strings)
  • 元组(Tuples)
  • 布尔值(Booleans)
  • 冻结集合(Frozen sets)
    例如,当你修改一个字符串或元组时,Python实际上会创建一个新的字符串或元组对象。

可变类型(如列表)

对于可变类型(如列表),情况有所不同。当您创建一个列表并将其赋值给另一个变量时,两个变量实际上指向的是同一个列表对象。例如:

python
Copy code
lens = counts = [1, 2]

在这个例子中,lens 和 counts 实际上是指向同一个列表对象 [1, 2] 的引用。当您修改这个列表(例如 lens[0] = 0),更改会反映在这个列表对象上,因此 counts 也会看到这个更改,因为它们指向的是同一个对象。
常见的可变类型包括:

  • 列表(Lists)
  • 字典(Dictionaries)
  • 集合(Sets)

结论

不可变对象(如整数、字符串)的变量名可以被认为是指向其值的引用。赋值操作创建了新的引用,但不可变对象本身不会被改变。
可变对象(如列表)的变量名是指向对象的引用。多个变量可以指向同一个可变对象,因此一个变量对对象的修改可以通过其他指向同一对象的变量看到

相关推荐

  1. python可变变量可变变量

    2023-12-30 11:14:06       40 阅读
  2. [python]变量常量

    2023-12-30 11:14:06       32 阅读
  3. Python 变量命名规则

    2023-12-30 11:14:06       36 阅读
  4. Python 变量

    2023-12-30 11:14:06       27 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-30 11:14:06       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-30 11:14:06       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-30 11:14:06       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-30 11:14:06       18 阅读

热门阅读

  1. MIUI解BL锁+刷系统教程

    2023-12-30 11:14:06       38 阅读
  2. 基于SpringBoot的新能源充电系统

    2023-12-30 11:14:06       41 阅读
  3. Redis主从切换(单点故障)解决源码

    2023-12-30 11:14:06       37 阅读
  4. PB 按Excel动态创建对应字段

    2023-12-30 11:14:06       28 阅读
  5. Flutter 三点三:Dart Stream

    2023-12-30 11:14:06       31 阅读
  6. 神经网络分类与回归任务

    2023-12-30 11:14:06       32 阅读
  7. 1.2 金融数据处理

    2023-12-30 11:14:06       32 阅读