小数据池

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

  • 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. Fiddler: AutoResponder 构建模拟测试场景

    AutoResponder 可用于拦截某一请求,并重定向到本地的资源,或者使用Fiddler的内置响应.可用于调试服务器端代码而无需修改服务器端的代码和配置,因为拦截和重定向后,实际上访问的是本地的文 ...

  2. 关于FrameLayout中覆盖的问题

    FrameLayout中xml文件中写在下方的控件会默认覆盖上方的控件,如图,我准备实现如下效果: 这时recyclerview就要写在前面 如果recyclerview写在下面就会覆盖掉我linea ...

  3. Byte 一个字节的数据大小范围为什么是-128~127

    一个字节是8位,最高位是符号位,最高位为0则是正数.最高位为1则是负数 如果一个数是正数,最大数则为:01111111,转为十进制为127, 如果一个数是负数,按照一般人都会觉得是11111111,转 ...

  4. JS_0001:js常用知识点

    1,获取常量值 ${} var port = 8080; console.log(`服务器运行在http://${hostName}:${port}`);   2,js中从服务器中获取值,并赋值給ht ...

  5. Certificate Request Processor: Invalid provider specified. 0x80090013 (-2146893805 NTE_BAD_PROVIDER)

    通过INF文件创建CSR时遇到Certificate Request Processor: Invalid provider specified. 0x80090013 (-2146893805 NT ...

  6. c++多线程编程——初探

    c++多线程并发可以帮助我们挖掘CPU的性能,在我们的思想中,似乎程序都是顺序执行的.这样的结论是建立在:程序是单线程程序.(比如我们平时写的hello world程序). 但是如果程序是多线程的.那 ...

  7. Spark学习之路 (十二)SparkCore的调优之资源调优[转]

    概述 在开发完Spark作业之后,就该为作业配置合适的资源了.Spark的资源参数,基本都可以在spark-submit命令中作为参数设置.很多Spark初学者,通常不知道该设置哪些必要的参数,以及如 ...

  8. Qt Gui 第五章绘图类

    双缓冲 void Plotter::refreshPixmap() { pixmap = QPixmap(size()); pixmap.fill(, ); QPainter painter(& ...

  9. 论文阅读笔记(十一)【ICCV2017】:Jointly Attentive Spatial-Temporal Pooling Networks for Video-based Person Re-Identification

    Introduction (1)Motivation: 当前采用CNN-RNN模型解决行人重识别问题仅仅提取单一视频序列的特征表示,而没有把视频序列匹配间的影响考虑在内,即在比较不同人的时候,根据不同 ...

  10. 论文阅读笔记(八)【IEEEAccess2019】:High-Resolution and Low-Resolution Video Person Re-Identification: A Benchmark

    Introduction (1)Motivation: 监控视频中的行人,有的比较清晰,有的因为距离较远非常模糊. 在高低分辨率方面的行人重识别缺乏数据集和研究. (2)Contribution: ① ...