当前位置:首页 » 编程语言 » python不可变

python不可变

发布时间: 2023-08-10 20:05:01

python中变量的引用、可变和不可变类型、局部变量和全局变量

变量的引用

变量和数据都是保存在内存中的

变量和数据是分开存储

数据保存在内存中某个位置,通过地址来标记

变量保存的是数据的地址,通过地址可以找到数据在内存空间的位置

把变量保存数据地址的过程称为引用


变量的重新赋值修改的是变量中引用数据的内存地址

变量之间的赋值实际是引用的传递

函数参数的传递,本质也是引用的传递

函数的返回值本身也是引用的传递


可变和不可变类型

不可变类型,内存中的数据不允许被修改:数字类型(int,bool,float,complex,long(2,x)、字符串、元组(tuple)

可变类型,内存中的数据可以被修改:列表list、字典dict

无论是可变还是不可变数据类型,通过赋值语句,都会改变变量的引用


Hash函数只能接收不可变数据类型,字典的键也只能是不可变数据类型,字典的value值可以是任意数据类型


局部变量

1.在函数内部定义的变量就是局部变量(作用范围只能是当前函数内部)

2.在函数外部无法直接访问局部变量

3.不同的函数中可以定义同名的局部变量

4.局部变量的生命周期:从定义变量时开始,到函数运行结束

全局变量

1.在所有函数外边定义的变量就是全局变量

2.让所有函数都能访问到,可以作为函数通信的桥梁

3.一般情况下,为了和普通变量的区别,需要加上g_或gl_前缀

4.全局变量一般放在所有函数的最上面

5.在函数内部修改全局变量,必须要加上global关键字,如果不加global只是定义了一个同名的局部变量


函数的多个返回值

㈡ Python怎么要求保持输入数据类型不变

可以使用Python内置的abs()函数来求一个数的绝对值,但是abs()函数的返回结果是一个浮点数,因此需要对结果进行类型转换。可以使用type()函数来获取神森输入数据的类型,然后根据类型进行类型转换。
以下是示例代码:
n = input("请输入一个数字:")
n_type = type(n)
n = abs(float(n)) if n_type == str else abs(n)
n = n_type(n) # 恢复原来的类型
print("该数字的绝对值为:", n)
代码中首先使用input()函游颂亩数获取输入数字,并使用type()函数获取输入数字的类型。然后根据输入数字的类型,使用float()函数或者直接对输入数字进行abs()函数计算。最后,将计算结果转换回原来的类型并输出。注意,在输入数字为字符串时,需要先使用float()函数将其转换为浮点数再进行计樱册算。

㈢ python如何赋值后让变量保持不变

python中字典和列表都是可变类型,直接通过赋值的方式(也就是浅拷贝),只是创建了新的对象,但实际还是引用了同一个地址,要想修改d而不对dic产生影响,使用深拷贝的方式:

import

d = .deep(dic)

㈣ python中字符串数据类型是不可变数据类型

python中不可变数据类型和可变数据类型
在学习python过程中我们一定会遇到不可变数据类型和可变数据类型。

1.名词解释


不可变数据类型: 当该数据类型的对应变量的值发生了改变,那么它对应的内存地址也会发生改变,对于这种数据类型,就称不可变数据类型。

可变数据类型    :当该数据类型的对应变量的值发生了改变,那么它对应的内存地址不发生改变,对于这种数据类型,就称可变数据类型。

   总结:不可变数据类型更改后地址发生改变,可变数据类型更改地址不发生改变

㈤ 自动化测试时需要使用python,请问如何理解python中的可变和不可变数据类型

什么叫不可变类型?
所谓不可变数据类型,就是说,内存中的数据一旦定义就不能修改,如果要修改只能在内存中开辟新的空间,这种数据类型就是不可变数据类型。不可变数据类型在python中是主流,比如整数,浮点数,布尔型,字符串,元组等都属于不可变数据类型。
什么叫可变数据类型?
所谓可变数据类型,简单来说就是内存中的数据可以被直接修改,而无需开辟新的空间,在python中,可变数据类型只有两种,那就是列表和字典【除了这两种外,其他数据类型都是不可变数据类型】
注意:不管是什么数据类型,只要是重新赋值,数据都需要开辟新的内存空间
传智播客官网上就有这些免费视频可以看,这些知识点传智播客都系统梳理了,跟着他们免费课程来就行。

热点内容
nsis数据库 发布:2025-02-06 07:44:52 浏览:852
密码没改为什么解不开 发布:2025-02-06 07:42:45 浏览:93
方舟编译器可以开发应用程序么 发布:2025-02-06 07:26:59 浏览:297
什么导师配置好 发布:2025-02-06 07:19:23 浏览:476
263会议视频密码是多少 发布:2025-02-06 07:09:59 浏览:708
uc小说浏览器缓存 发布:2025-02-06 07:05:05 浏览:468
wifi路由手机怎么设置密码 发布:2025-02-06 07:00:57 浏览:986
nsurlsession上传 发布:2025-02-06 06:55:18 浏览:337
亚洲十帅exo访问 发布:2025-02-06 06:51:40 浏览:99
编程一首诗 发布:2025-02-06 06:45:04 浏览:529