小数据池

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

  • 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. 38.Python自定义计算时间过滤器

    在写自定义的过滤器时,因为django.template.Library.filter()本身可以作为一个装饰器,所以可以使用: register = django.template.Library( ...

  2. 最小生成树算法总结(Kruskal,Prim)

    今天复习最小生成树算法. 最小生成树指的是在一个图中选择n-1条边将所有n个顶点连起来,且n-1条边的权值之和最小.形象一点说就是找出一条路线遍历完所有点,不能形成回路且总路程最短. Kurskal算 ...

  3. warning Attribute 'showExpand' must be hyphenated

    报错翻译:警告属性“ showExpand”必须带连字符 报错原因父组件给子组件传参时,使用驼峰命名法,导致ESLint检测出语法问题,如下↓ 改成这样就ok了

  4. Python 函数 初学者笔记

      定义函数 def greet_user(username):#定义一个名为greet_user的函数,username时个形参 print("Hello!" + usernam ...

  5. luoguP5219 无聊的水题 I 多项式快速幂

    有一个幼儿园容斥:最大次数恰好为 $m=$  最大次数最多为 $m$ - 最大次数最多为 $m-1$. 然后来一个多项式快速幂就好了. code: #include <cmath> #in ...

  6. Android 开发调试最优选项

    1 开发环境 VS2019 16.4.5 2 开发调试选项 Android 选项

  7. JAVA中定义不同进制整数

    1.八进制整数以0开头 int b = 033;//表示十进制数27,3 × 81 + 3 × 80 = 3 × 8 + 3 × 1 = 24 + 3 = 27 2.十六进制整数以0x或者0X开头 i ...

  8. F.Three pahs on a tree

    思路 两次bfs找出树的直径并处理出端点离树上各叶子节点的距离,在直径上找一点的子树叶子p3,使得dis(p1,p2) + dis(p2,p3) + dis(p1,p3)最大 易知上式是路径实长的两倍 ...

  9. PAT (Basic Level) Practice (中文)1087 有多少不同的值 (20 分) (set)

    当自然数 n 依次取 1.2.3.…….N 时,算式 ⌊ 有多少个不同的值?(注:⌊ 为取整函数,表示不超过 x 的最大自然数,即 x 的整数部分.) 输入格式: 输入给出一个正整数 N(2). 输出 ...

  10. 【HTML】html5 canvas全屏烟花动画特效

    <!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF-8&quo ...