zoukankan      html  css  js  c++  java
  • 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

    深浅拷贝

    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}))冻结集合(使集合不可变)
  • 相关阅读:
    不叹惜、不呼唤我也不哭泣
    WCF笔记(一)Service Layer and Channel Layer
    C#数据结构(四)树和二叉树
    Python and django(四)详解python中的数字和序列
    Python and django(三)python中的对象
    IIS与ASP.NET Http Runtime Pipeline
    迈进程序员的大门
    实例学习SSIS(四)使用日志记录和错误流重定向
    DbUtility alpha1版本发布
    关于ref和out的详细区别。
  • 原文地址:https://www.cnblogs.com/zlx960303/p/11907136.html
Copyright © 2011-2022 走看看