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 ...
随机推荐
- 为实践javaweb项目,搭建了相应环境
为实践javaweb项目,搭建了相应环境,现总结一下. JDK与JRE的安装与配置 前提准备: 1.我们下载的JDK安装包里面既包含JDK又包含JRE: 2.要确认你的电脑里面没有JDK和JRE的残留 ...
- #AcWing系列课程Level-2笔记——1. 快速排序算法
快速排序算法(冒泡排序算法的升级版) 编写快速排序,记住下面的思路,代码也就游刃有余了! 1.首先确定分界点:分界点设为x,可以取q[left],q[(left+right)>>2],q[ ...
- P1055 ISBN号码(getline(cin,s); printf("%s",str); )
题目描述 每一本正式出版的图书都有一个 ISBN 号码与之对应,ISBN 码包括 9 位数字.1 位识别码和 3 位分隔符,其规定格式如 x-xxx-xxxxx-x,其中符号 - 就是分隔符(键盘上的 ...
- JN_0015:ping IP 地址
1,打开命令窗口 2,ping www.baidu.com
- sublime 下载 和 破解
新增可用注册码,无需降级. Sublime Text 3.1 更改了验证方法,之前所有的验证码都已失效,建议降级到3143 版本. 新增3.1 3176 可用注册码 此验证码为sublime text ...
- Hadoop集群初步搭建:
自己整理了一下Hadoop集群简易搭建的过程,感谢尚观科技贾老师的授课和指导! 基本环境要求:能联网电脑一台:装有Centos系统的VMware虚拟机:Xmanager Enterprise 5软件. ...
- sqlserver创建和删除外键约束
x先找出约束名字然后删除它我给个例子 --测试环境--主表create table test1(id int primary key not null,value int)insert test1 s ...
- PAT (Advanced Level) Practice 1035 Password (20 分)
To prepare for PAT, the judge sometimes has to generate random passwords for the users. The problem ...
- PAT (Advanced Level) Practice 1152 Google Recruitment (20 分)
In July 2004, Google posted on a giant billboard along Highway 101 in Silicon Valley (shown in the p ...
- 大json直接序列化成dataset
rtnDs= JsonConvert.DeserializeObject<DataSet>(strBuff);