小数据池

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

  • 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. LNMP环境配置(2)

    php-fpm配置,Nginx配置 Nginx配置 默认虚拟主机 修改主配置文件 # vi  /usr/local/nginx/conf/nginx.conf 在最后 } 符号上面写入  includ ...

  2. Linux中为什么执行自己的程序要在前面加./

    前言   在Linux中,我们执行内置命令时,直接输入命令名称即可,如: $ mv a b #将a重命名为b   而在执行自己写好的程序时,却要带上./,例如: $ hello hello: comm ...

  3. C#浅拷贝与深拷贝测试

    1.浅拷贝与深拷贝 浅拷贝:只复制对象的基本类型,对象类型,仍属于原来的引用.       深拷贝:不紧复制对象的基本类,同时也复制原对象中的对象.就是说完全是新对象产生的. 2.浅拷贝与深拷贝的区别 ...

  4. gulp常用插件之autoprefixer使用

    更多gulp常用插件使用请访问:gulp常用插件汇总 autoprefixer这是一款自动管理浏览器前缀的插件,它可以解析CSS文件并且添加浏览器前缀到CSS内容里. 更多使用文档请点击访问autop ...

  5. Linux网络课程学习第二天

    第二天学习日志: 今天的课程主要内容: 详细介绍了如何安装红帽RHEL7的系统,并对RPM,Yum,Systemd和bash进行了简单介绍.

  6. javaScript中的异步编程模式

    1.事件模型 let button = document.getElementById("my-btn"); button.onclick = function(event) { ...

  7. Mysql常见注入

    Mysql显错注入 1.判断注入类型为字符型:http://219.153.49.228:43074/new_list.php?id=tingjigonggao' and 1=1 --+2.判断字段为 ...

  8. c#实现把异常写入日志示例(异常日志)

    将异常写到日志文件中,可以在调试程序的时候知道程序发生过哪些异常,并且可以知道异常发生的位置.这点对需要进行长时间运行并调试的程序尤为有效. /// <summary> /// 将异常打印 ...

  9. H5_0012:js事件冒泡和捕获

    捕获(capture)和冒泡(bubble)是事件传播过程中的两个概念, 比如用户单击某个元素, 但由于元素处于父元素内, 该父元素又处于document对象中, document对象又处于windo ...

  10. 自定义Keras Layer

    Keras的Layer其实就是一个Class, 要具有以下几个方法: (1) build(input_shape): 定义权重的地方, 如果不需要定义权重, 也要有self.built = True; ...