小数据池

  • == 判断两个值是否相等

  • 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

深浅拷贝

  1. 以后尽量避免
  2. 面试必问
赋值
  • 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的更多相关文章

  1. 初学python之路-day06

    每天一篇总结,今天学习了大概有深浅拷贝,元组类型,字典类型与集合类型.第一次感觉有点难度,需要花费多点时间来掌握. 深浅拷贝,分为值拷贝.浅拷贝.深拷贝. ls = [1, 'abc', [10]] ...

  2. Python之路【第一篇】python基础

    一.python开发 1.开发: 1)高级语言:python .Java .PHP. C#  Go ruby  c++  ===>字节码 2)低级语言:c .汇编 2.语言之间的对比: 1)py ...

  3. Python之路

    Python学习之路 第一天   Python之路,Day1 - Python基础1介绍.基本语法.流程控制              第一天作业第二天   Python之路,Day2 - Pytho ...

  4. python之路 目录

    目录 python python_基础总结1 python由来 字符编码 注释 pyc文件 python变量 导入模块 获取用户输入 流程控制if while python 基础2 编码转换 pych ...

  5. Python之路【第十九篇】:爬虫

    Python之路[第十九篇]:爬虫   网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本.另外一些不常使用 ...

  6. Python之路【第十八篇】:Web框架们

    Python之路[第十八篇]:Web框架们   Python的WEB框架 Bottle Bottle是一个快速.简洁.轻量级的基于WSIG的微型Web框架,此框架只由一个 .py 文件,除了Pytho ...

  7. Python之路【第十七篇】:Django【进阶篇 】

    Python之路[第十七篇]:Django[进阶篇 ]   Model 到目前为止,当我们的程序涉及到数据库相关操作时,我们一般都会这么搞: 创建数据库,设计表结构和字段 使用 MySQLdb 来连接 ...

  8. Python之路【第十六篇】:Django【基础篇】

    Python之路[第十六篇]:Django[基础篇]   Python的WEB框架有Django.Tornado.Flask 等多种,Django相较与其他WEB框架其优势为:大而全,框架本身集成了O ...

  9. Python之路【第十五篇】:Web框架

    Python之路[第十五篇]:Web框架   Web框架本质 众所周知,对于所有的Web应用,本质上其实就是一个socket服务端,用户的浏览器其实就是一个socket客户端. 1 2 3 4 5 6 ...

随机推荐

  1. 为实践javaweb项目,搭建了相应环境

    为实践javaweb项目,搭建了相应环境,现总结一下. JDK与JRE的安装与配置 前提准备: 1.我们下载的JDK安装包里面既包含JDK又包含JRE: 2.要确认你的电脑里面没有JDK和JRE的残留 ...

  2. #AcWing系列课程Level-2笔记——1. 快速排序算法

    快速排序算法(冒泡排序算法的升级版) 编写快速排序,记住下面的思路,代码也就游刃有余了! 1.首先确定分界点:分界点设为x,可以取q[left],q[(left+right)>>2],q[ ...

  3. P1055 ISBN号码(getline(cin,s); printf("%s",str); )

    题目描述 每一本正式出版的图书都有一个 ISBN 号码与之对应,ISBN 码包括 9 位数字.1 位识别码和 3 位分隔符,其规定格式如 x-xxx-xxxxx-x,其中符号 - 就是分隔符(键盘上的 ...

  4. JN_0015:ping IP 地址

    1,打开命令窗口 2,ping www.baidu.com

  5. sublime 下载 和 破解

    新增可用注册码,无需降级. Sublime Text 3.1 更改了验证方法,之前所有的验证码都已失效,建议降级到3143 版本. 新增3.1 3176 可用注册码 此验证码为sublime text ...

  6. Hadoop集群初步搭建:

    自己整理了一下Hadoop集群简易搭建的过程,感谢尚观科技贾老师的授课和指导! 基本环境要求:能联网电脑一台:装有Centos系统的VMware虚拟机:Xmanager Enterprise 5软件. ...

  7. sqlserver创建和删除外键约束

    x先找出约束名字然后删除它我给个例子 --测试环境--主表create table test1(id int primary key not null,value int)insert test1 s ...

  8. PAT (Advanced Level) Practice 1035 Password (20 分)

    To prepare for PAT, the judge sometimes has to generate random passwords for the users. The problem ...

  9. 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 ...

  10. 大json直接序列化成dataset

    rtnDs= JsonConvert.DeserializeObject<DataSet>(strBuff);