Python之路Day06
小数据池
== 判断两个值是否相等
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之路Day06的更多相关文章
- 初学python之路-day06
每天一篇总结,今天学习了大概有深浅拷贝,元组类型,字典类型与集合类型.第一次感觉有点难度,需要花费多点时间来掌握. 深浅拷贝,分为值拷贝.浅拷贝.深拷贝. ls = [1, 'abc', [10]] ...
- Python之路【第一篇】python基础
一.python开发 1.开发: 1)高级语言:python .Java .PHP. C# Go ruby c++ ===>字节码 2)低级语言:c .汇编 2.语言之间的对比: 1)py ...
- Python之路
Python学习之路 第一天 Python之路,Day1 - Python基础1介绍.基本语法.流程控制 第一天作业第二天 Python之路,Day2 - Pytho ...
- python之路 目录
目录 python python_基础总结1 python由来 字符编码 注释 pyc文件 python变量 导入模块 获取用户输入 流程控制if while python 基础2 编码转换 pych ...
- Python之路【第十九篇】:爬虫
Python之路[第十九篇]:爬虫 网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本.另外一些不常使用 ...
- Python之路【第十八篇】:Web框架们
Python之路[第十八篇]:Web框架们 Python的WEB框架 Bottle Bottle是一个快速.简洁.轻量级的基于WSIG的微型Web框架,此框架只由一个 .py 文件,除了Pytho ...
- Python之路【第十七篇】:Django【进阶篇 】
Python之路[第十七篇]:Django[进阶篇 ] Model 到目前为止,当我们的程序涉及到数据库相关操作时,我们一般都会这么搞: 创建数据库,设计表结构和字段 使用 MySQLdb 来连接 ...
- Python之路【第十六篇】:Django【基础篇】
Python之路[第十六篇]:Django[基础篇] Python的WEB框架有Django.Tornado.Flask 等多种,Django相较与其他WEB框架其优势为:大而全,框架本身集成了O ...
- Python之路【第十五篇】:Web框架
Python之路[第十五篇]:Web框架 Web框架本质 众所周知,对于所有的Web应用,本质上其实就是一个socket服务端,用户的浏览器其实就是一个socket客户端. 1 2 3 4 5 6 ...
随机推荐
- Java自学-Lambda 聚合操作
java 集合的聚合操作 步骤 1 : 传统方式与聚合操作方式遍历数据 遍历数据的传统方式就是使用for循环,然后条件判断,最后打印出满足条件的数据 for (Hero h : heros) { if ...
- cf1214E
题意简述:构造一棵包含2*n个节点的树,要求2*i 和 2*i-1之间的距离等于d[i]<=n 1<=i<=n 给出N和d数组,输入对应的边 题解:对d数组按照从大到小排序,然后首先 ...
- 从应用的角度去学习Python--为孩子下载课本
最近,孩子上课都没有课本,老师给发的是一个微信链接,打开看可以,打印打不全.怎么办?我就想既然能看,从爬虫的角度就一定可以抓下来! 在Chrome中打开网址,好家伙!一堆的Script之类的玩意儿.经 ...
- SSM开发健康信息管理系统
Spring+Spring MVC+MyBatis基于MVC架构的个人健康信息管理系统 采用ssm框架,包含 健康档案.健康预警(用户输入数据,系统根据范围自动判断给出不同颜色箭头显示). 健康分析. ...
- sqli-labs11-17(手注+sqlmap)
这几关涉及到的都是post型data处注入,和get型的差别就是注入点的测试处不一样,方法都是一样的 0x01 sqli-labs less-11 1.手工 由于是post型注入,那么我们不能在url ...
- 专访|高思教育创始人须佶成(上)【UncleW】
大家好,我是校长运营圈专栏作者UncleW. 2017年9月,高思教育发布董事会公告,宣布完成5.5亿元人民币融资.成立于2009年的高思教育到今天刚刚8岁,员工人数已突破2000人,2017年共有5 ...
- PIE-SDK For C++矢量数据空间索引的创建
1.功能简介 空间索引的使用便于数据的查询:所以在创建矢量数据的时候创建空间索引,下面对矢量数据如何创建空间索引进行功能介绍. 2.功能实现说明 2.1 实现思路及原理说明 第一步 创建矢量要素数据集 ...
- 论文阅读笔记(七)【TIP2018】:Video-Based Person Re-Identification by Simultaneously Learning Intra-Video and Inter-Video Distance Metrics
是由一篇 IJCAI2016 扩的期刊. 该篇会议论文的阅读笔记[传送门] 期刊扩充的部分:P-SI2DL 1.问题描述: 在会议论文中介绍的SI2DL方法采用了视频三元组作为视频关系(是否匹配)的逻 ...
- Pikachu-over permission(越权操作)
如果使用A用户的权限去操作B用户的数据,A的权限小于B的权限,如果能够成功操作,则称之为越权操作. 越权漏洞形成的原因是后台使用了 不合理的权限校验规则导致的. 一般越权漏洞容易出现在权限页面(需要登 ...
- LeetCodeTwo Sum IV 树的遍历+Hash大法好
题意 给定一颗二叉搜索树,返回是否存在两个节点的值之和为给定值K. 思路 同Two Sum.使用Hash表解决.只是要写个树的遍历而已,选取DFS. 源码 class Solution { publi ...