Python之路Day06
2024-09-04 20:32:45
小数据池
== 判断两个值是否相等
is -- 是,判断两边的内存地址是否相同
a=10
b=10
print(a is b)
id() -- 查看内存地址
代码块
一个py文件,一个函数,一个模块,终端中每一行都是代码块
int,str,bool
int: -5~正无穷
a=1000
b=1000
print(id(a),id(b))
print(a,b)
str:
- 定义字符串的时候可以任意,
- 字符串(字母,数字)作乘法时字符串长度不能超过20
- python3.7以上版本为<=4096
- 特殊符号(中文,符号)进行乘法时只能乘1或者乘0
bool
- True
- False
小数据池与代码块同在的情况下先执行代码块
驻留机制:节省内存空间,提升效率(减少了开辟空间和销毁空间的耗时)
小数据池
- int,str,bool
- int:-5~256
- str:
- 只支持字母,数字;长度任意符合驻留机制
- 字符串进行乘法时总长度不能超过20
- 特殊符号进行乘法时只能乘0
深浅拷贝
- 以后尽量避免
- 面试必问
赋值
a=[1,2,3,4]
b=a
print(id(a),id(b))
浅拷贝
赋值:将多个变量名指向同一个内存地址
copy -- 拷贝
(壳是另开的,馕是一样的)
a=[1,2,3,4,5]
b=a.copy()
print(id(a[0]))
print(id(b[0]))
a=[1,2,3,4,5]
b=a[:] #切片 浅拷贝
print(id(a[-1][0]))
print(id(b[-1])[0])
a=[1,2,3,[4,5]]
b=a[:]
浅拷贝
- 只拷贝第一层元素的地址,修改时只有修改第一层的时候源数据不进行改变
- 给可变数据类型添加的时候源数据会受影响
- 可变数据类型可以修改添加,不可变类型只能修改
深拷贝
import copy -- 导入copy模块
import copy
a=[1,2,3,[4,5],6]
b=copy.deepcopy(a)
深拷贝:不可变数据类型共用,可变数据类型新开辟一个空间(无论一方怎么改,另一方都不会改变)
集合
- Python中数据类型之一,无序,可变,天然去重
- 集合 -- set
s=set()
:空集合- 集合就是一个没有值的字典(元素唯一,不可变)
集合方法
增加
- s.add()
- s,update(‘alex) -- 迭代添加
- print(set('alex')) -- 迭代添加
删除
- s.remove() -- 通过元素删除
- s.clear() -- 清空
- s.pop() -- 随机删除(最小的)
改
- 先删后加
查
- for循环
其他操作
- 减法:差集
- &:交集
- |(管道符):并集
- ^:反交集
>:判断是否子集
print(frozenset({1,2,3,4}))
冻结集合(使集合不可变)
最新文章
- 脑成像数据分析:Python工具包
- Hbase过滤器Filter的使用心得(爬坑经验)
- 实时控制软件设计第一周作业-汽车ABS软件系统案例分析
- iOS开发 iOS9横屏后状态栏隐藏处理
- DEDECMS之七 如何实现文章推荐排行榜
- [@Controller]3 详解@CookieValue,@PathVariable,@RequestBody,@RequestHeader,@RequestParam
- UVa 1572 (拓扑排序) Self-Assembly
- php常用函数集
- 用c#实现单链表(程序代码已经验证,完全正确)
- docker 现实---中小企业docker环境结构(五)
- C# Windows服务的创建、安装、调试
- Nuget 学习一
- Servlet面试题归纳
- AOF持久化
- js函数式编程术语总结 - 持续更新
- jQuery-day01-介绍 和 选择器获取元素
- flask 手机号码正则匹配的简单操作
- Flask允许跨域
- SQL注入之Sqli-labs系列第一关
- ACtiveMQ中间件-消息的接收和发送