首页 > 其他分享 >什么是可变类型和不可变类型

什么是可变类型和不可变类型

时间:2023-03-27 19:25:08浏览次数:31  
标签:不可 传递 修改 可变 类型 赋值

一、可变类型

值变内存地址不变

二、不可变类型

值变内存地址一定变

问题:

Python中可变类型和不可变类型的讲一下

回答:

Python中的可变类型指的是在创建后可以修改其值的数据类型,例如列表、字典、集合等。这些类型的值可以被修改、添加或删除元素,而不会改变它们的标识符。

不可变类型是指在创建后不能修改其值的数据类型,例如整数、浮点数、布尔值、字符串、元组等。这些类型的值一旦被创建就不能被修改,如果需要修改它们的值,只能通过重新创建一个新的对象来实现。

在Python中,可变类型和不可变类型的主要区别在于它们的赋值和传递方式。对于可变类型,赋值和传递都是引用传递,也就是说,当一个可变类型变量被赋值或传递给一个函数时,实际上是传递了它的引用,如果修改了这个引用所指向的对象,那么原来的变量也会受到影响。而对于不可变类型,赋值和传递都是值传递,也就是说,当一个不可变类型变量被赋值或传递给一个函数时,实际上是传递了它的值的副本,如果修改了这个副本,原来的变量不会受到影响。

例如:

a = [1, 2, 3]  # a是一个可变类型变量
b = a  # 将a赋值给b
b.append(4)  # 修改b所指向的对象
print(a)  # 输出[1, 2, 3, 4]

x = 1  # x是一个不可变类型变量
y = x  # 将x赋值给y
y += 1  # 修改y的值
print(x)  # 输出1

在第一个例子中,将a赋值给b后,b和a指向同一个对象,因此修改b所指向的对象也会改变a所指向的对象。而在第二个例子中,由于x是一个不可变类型变量,将x赋值给y后,y实际上是x的值的副本,修改y的值并不会改变x的值。

标签:不可,传递,修改,可变,类型,赋值
From: https://www.cnblogs.com/almira998/p/17262549.html

相关文章

  • Python基本知识(编程语言、数据类型、变量与常量、运算符、格式化输出以及解释器)
    什么是编程语言?编程语言是人类与计算机之间交流的媒介,如Python、go、Java、c语言等等。什么是编程?程序员将自己的逻辑和想法用计算机能够读懂的语言写下来的过程。编程......
  • 设计通用流程和可变点的方法一些思考
    平台化与中台设计:新问题与解决方案在从信息化到数字化的转型中,平台化一直是重要的主题之一。随着平台不断向业务领域延伸,平台抽象和建设的难度也呈指数级增加,出现了一系列......
  • 非常小的一个东西,Spring依赖注入Bean类型的8种情况
    大家好,我是三友~~今天来讲一个可能看似没有用但是实际又有点用的一个小东西,那就是@Autowired支持注入哪些Bean的类型。为啥要讲这个呢?故事说起来可能就比较长了。不过......
  • OushuDB 小课堂 丨元数据的类型以及如何管理它们 宗恩 3天前 编辑
    近年来,主动元数据(相对于被动元数据)促进了新型元数据及其管理方式的发展。元数据是一种标签系统,可以被人类和计算机读取,并允许搜索引擎使用定义的元数据字段来定位数据。被......
  • SQL Server 索引类型及意义
    一、什么是索引拿汉语字典的目录页(索引)打比方:正如汉语字典中的汉字按页存放一样,SQLServer中的数据记录也是按页存放的,每页容量一般为4K。为了加快查找的速度,汉语字(词)典......
  • redis hash类型操作
    Redis-Hash前言hash在很多编程语言中都有着很广泛的应用,而在Redis中也是如此,在redis中,哈希类型是指Redis键值对中的值本身又是一个键值对结构,形如value=[{field1,value1},......
  • python工程里面的类型的思考
    虽然我的工程语言是python语言,在工程搭建过程中非常注意类型提示的问题。关于方法的方法的返回值类型的问题:常用的方式是在函数/方法书写一些尖头+类型,这样调用方能很方......
  • 共享锁、排他锁、互斥锁、悲观锁、乐观锁、行锁、表锁、页面锁、不可重复读、丢失修改
    共享锁(S锁)又称为读锁,可以查看但无法修改和删除的一种数据锁。如果事务T对数据A加上共享锁后,则其他事务只能对A再加共享锁,不能加排它锁。获准共享锁的事务只能读数据,不能修......
  • 解决mac升级之后不可以ssh
    很多同学更新系统之后,使用这两者都会遇到一条报错,类似于:SSH(ssh:connecttohostlocalhostport22:Connectionrefused)我们之前出过一篇文章但是现在也不好用了怎......
  • IDM下载类型
    3GP7ZAACACEAIAIFALZAPKAPPARCARJASFAVIBHBINBRBUNDLEBZBZ2CDACSVDIFDLLDMGDOCDOCXEGGEPSEXEFLVGZGZIPIMGIPAISOISZJARKEXTLHALZ......