发布时间: 16:20:44 来源:亿速云 阅读:199 作者:iii 栏目:
这篇文章主要讲解了“python的可变和不可变数据类型是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“python的可变和不可变数据类型是什么”吧!
python中不可变数据类型的定义为:当该数据类型的对应变量的值发生了改变,那么它对应的内存地址也会发生改变,就称不可变数据类型,包括:int
(整型)、string
(字符串)、tuple
(元组)
首先我们来看一下整型为什么是不可变数据类型。给一个变量x
赋值,然后改变这个x的值,输出前后两次的内存地址id和数据类型type
id()
:获取对象的内存地址
type()
:当只有一个参数的时候,返回对象的类型。当有三个参数的时候返回一个类对象。
从上面的代码我们可以得出,变量x为整型,且当x的值发生改变的时候,变量的内存地址也发生了改变。所以整型是不可变的数据类型。
根据上面的实例,我们把变量x的值换成字符串试试,看能不能得出字符串是不可变数据类型的结论呢~
# 打印x的内存地址和数据类型 # 打印改变后的x的内存地址和数据类型代码中当变量改变时,变量的内存地址由 变为了 。所以字符串是不可变数据类型。
元组被称为只读列表,即数据可以被查询,但不能被修改。如果我们强行修改元组中的数据,会报错。
python中对可变数据类型的定义为:当该数据类型的对应变量的值发生了改变,那么它对应的内存地址不发生改变,就称可变数据类型。包括:set(集合)、list(列表)、dict(字典)
我们先来看一下集合,定义一个集合set1,改变set1的值,且输出两次的内存地址
# 给set1添加一个元素从上面代码我们可以看出,即使一个集合发生了改变,这个集合的内存地址是不变的。所以集合是可变数据类型。
当列表中的值发生了改变时,内存地址依旧不变,所以列表是可变数据类型。
字典是python中唯一的映射类型,采用键值对(key-value)的形式存储数据。字典中的key值必须是可哈希的数据类型,也就是整型,字符串,元组等。
从上面代码可以看出,当字典中的元素发生改变时,内存地址不变,都是。所以字典是可变数据类型。
感谢各位的阅读,以上就是“python的可变和不可变数据类型是什么”的内容了,经过本文的学习后,相信大家对python的可变和不可变数据类型是什么这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!
摘要 因为python是属于计算机编程之类的,你需要去了解他的语法结构,还有变量的定义规则以及面向对象的定义,函数,方法,类的各种形态结构的定义和使用条件,还有条件运算符,循环语句内置函数之间的关系,所以考试的题目是非常难的。
因为python是属于计算机编程之类的,你需要去了解他的语法结构,还有变量的定义规则以及面向对象的定义,函数,方法,类的各种形态结构的定义和使用条件,还有条件运算符,循环语句内置函数之间的关系,所以考试的题目是非常难的。
1、Python使用符号#标示单行注释;以缩进对齐划分语句块。2、Python序列类型包括字符串、 列表 、 元组 三种; _字典_是Python中唯一的映射类型。3、Python序列中的可变数据类型有列表和字典,不可变数据类型有字符串、数组、元组。4、Python的数字类型分为整数、长整数、浮点型、复数等子类型。5、设L=[a,b,c,d,e,f,g],则L[3]值是d,L[3:5]值是d,e,L[:5]值是a,b,c,d,e,L[3:]值是d,e,f,g,L[ :
Q1: 请写出一段Python实现删除一个列表中的重复元素?
re.compile是将正则表达式编译成一个对象,加快速度,并重复使用
Q15: 有哪些提高Python运行效率的方法?
a. 使用生成器,因为可以节约大量内存;
b. 循环代码优化,避免过多重复代码的执行;
d. 多进程、多线程、协程;
e. 多个if elif条件判断,可以把最有可能先发生的条件放到前面写,这样可以减少程序判断的次数,提高效率。
#利用min()方法求出最小值,原列表删除最小值,新列表加入最小值,递归调用获取最小值的函数,反复操作。
允许我们在调用函数的时候传入多个实参,
Q18: Python面向对象的继承有什么特点?
a. 同时支持单继承与多继承,当只有一个父类时为单继承,当存在多个父类时为多继承。
b. 子类会继承父类所有的属性和方法,子类也可以覆盖父类同名的变量和方法。
c. 在继承中基类的构造(__init__())方法不会被自动调用,它需要在其派生类的构造中专门调用。
d. 在调用基类的方法时,需要加上基类的类名前缀,且需要带上 self 参数变量。区别于在类中调用普通函数时并不需要带上 self 参数。
Q19: 如何判断是函数还是方法?
与类和实例有绑定关系的 function 都属于方法(method)
Q20: Python会不会出现内存泄露,为什么?
当对象之间互相引用的时候再删除的时候,可能会造成无法释放对象的情况,出现泄漏