可变与不可变类型
1.计算机基础2.编程语言和Python语言介绍3.八大基本数据类型4.python语法入门变量和常量5.python和pycharm相关补充6.计算机五大部件补充7.文件操作8.编码和解码9.字符编码10.基本数据类型的内置方法11.循坏结构12.流程控制13.基本运算符14.程序与用户交互15.迭代器16.闭包函数17.装饰器18.多层语法糖嵌套19.函数的参数20.函数的可变长参数21.命名关键字参数22.名称空间与作用域23.异常处理24.深浅拷贝问题25.函数的定义和调用26.控制文件读写内容的模式27.主动控制文件内指针移动28.文件的操作方法29.垃圾回收机制GC
30.可变与不可变类型
31.元类32.内置方法33.pickle模块34.单例模式35.方法补充issubclass和isinstance36.多态37.继承38.面向对象的三大特性39.封装40.内置函数41.面向对象42.logging模块43.subprocess模块44.正则45.datetime模块46.time模块47.绝对路径和相对路径48.random模块49.os模块50.hashlib模块51.模块与包52.json模块53.生成器54.三元运算符可变与不可变类型
(1)堆 --先进先出
# #堆
# #先进先出
# list=[]
# for i in range(0,6):
# print(f'{i}已添加')
# list.append(i)
# print('入堆成功!')
# while list:
# print(f'{list.pop(0)}已删除')
# print('出堆结束')
(2)栈--先进后出
# # 栈
# #先进后出
# list=[]
# for i in range(0,6):
# print(f'{i}已添加')
# list.append(i)
# print('入栈成功!')
# while list:
# print(f'{list.pop()}已删除')
# print('出栈结束')
(3)可变数据类型
- 可变数据类型:值改变了,但是内存地址不改变。
- 可变数据类型:字典、列表、集合、布尔、元组中存在的可变数据类型。
"""可变数据类型"""
# # 字典
# dict = {'name': 'syh', 'age': 18}
# print(id(dict))#1783110655296
# dict['name']='susu'
# print(dict)#{'name': 'susu', 'age': 18}
# print(id(dict))#1783110655296
# # 字典中,字典的值发生了改变,但是字典的内存地址不变,所以字典时可变数据类型。
# #列表
# list=[1,2,3]
# print(id(list))#2450554706816
# list[0]=111#[111, 2, 3]
# print(list)
# print(id(list))#2450554706816
# list.append(666)#[111, 2, 3, 666]
# print(list)
# print(id(list))#2450554706816
# #列表中,列表的值发生了改变,但是列表的内存地址不变,所以列表是可变数据类型。
# #元组中存在可变类型时
# number_tuple=(1,2,3,4)
# print(id(number_tuple))
# #集合
# number_set={1,2,3,4}
# print(id(number_set))#1916430888608
# number_set.add(666)
# print(number_set)#{1, 2, 3, 4, 666}
# print(id(number_set))#1916430888608
# number_set.pop()#{2, 3, 4, 666}
# print(number_set)
# print(id(number_set))#1916430888608
# #集合中,集合不能改值,但是添加删除元素时,内存地址不变,所以集合是可变类型。
# #布尔
# is_right=True
# print(id(is_right))#140732214037352
# is_right=True
# print(id(is_right))#140732214037352
# #布尔中,布尔的内存地址不变,所以布尔是可变类型
(4)不可变数据类型
- 不可变数据类型:内存地址发生了改变,就是不可变数据类型。
- 不可变数据类型:字符串、数字类型、元组。
"""不可变数据类型"""
# #字符串
# res='syh'
# print(id(res))#1926022127024
# res='susu'
# print(id(res))#1926022156848
# #字符串内存地址发生了改变,所以字符串是不可变数据类型。
# #数字类型
# number=20
# print(id(number))#3044800136016
# number=23
# print(id(number))#3044800136112
# #数字类型内存地址发生了改变,所以数字类型是不可变类型。
#元组
#number_tuple=(1,2,3,4)
#print(id(number_tuple))
#元组内的元素无法修改,指的是元组内索引指向的内存地址不能被修改。元组是不可变数据类型。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)