zoukankan      html  css  js  c++  java
  • 小数据池和深浅拷贝

    小数据池

    • 什么是小数据池?

      • 小数据池就是Python中一种调高效率的方式,固定数据类型使用同一个内存地址
      • 支持 : str,int,bool
    • 小数据池是干嘛的?

      • id()查看空间的内存地址 获取开辟空间的一种地址
      • 小数据池数字支持范围 : -5 ~ 256
      • is : 判断两个内存地址是否相同
      • == : 判断等号两边的值是否想铜
    • 字符串

      • 字符在做乘法的时候总长度不能超过20,进行驻留
      • 自己定义的字符串 ,长度不限制,但字符串必须是字母数字下划线的组成,进行驻留
      • 特殊字符(中文除外)定义一个的时候,进行驻留
      • 字符串*1,其实就是赋值
    • 代码块

      • 一个文件,一个模块,一个函数,一个类,终端中的每一行都是一个代码块,在Python中以字典的方式储存
      • 数字,全部驻留
      • 字符串
        • 乘法时总长度不超过20
        • 自定义的都驻留
        • 乘数为1的时候就是赋值
        • Python3.7乘法的时候总长度不能超过4096
    • 强制驻留

    • from sys import intern

      ​ a = intern(@@@@*20)

      ​ b = intern(@@@@*20)

      print(a is b) #自己进行驻留

    集合

    • 什么是集合?

      • 集合就是一个没有值的字典,遵循: 唯一,无序,元素要求可哈希(不可变)

      • 集合是可变的,无序的

      • 作用主要就是去重

      • 增加

        • s.update("3456") #迭代添加
        • s.add()
      • 删除

        • s.pop() : 随机删除 #据自己观察发现有点规律,但是不好说
        • s.remove() : 通过元素删除
        • s.clear() : 清空
        • del s : 删除整个集合
      • 修改

        • 删了再加不就是改了
      • 其他操作

        # print(s1 - s2)  #差集
        # print(s1 | s2)  #并集   (合集)
        # print(s1 & s2)  #交集
        # print(s1 ^ s2)  #对称差集  -- 反交集
        # print(s1 > s2)  # 超集   -- 父集
        # print(s1 < s2)  # 子集
        # 冻结集合(可变 转换成 不可变)  -- 更不常用
        # f_s = frozenset({1,2,3,4,5})
        # # dic = {f_s:"1"}
        # # print(dic)
        

    深浅拷贝

    • 深浅拷贝的规律:

      赋值: 两个变量使用的是同一个空间
      浅拷贝:修改不可变数据类型,不变动,修改可变数据类型,变动
      深拷贝:修改就不变动

  • 相关阅读:
    笔记44 Hibernate快速入门(一)
    tomcat 启用https协议
    笔记43 Spring Security简介
    笔记43 Spring Web Flow——订购披萨应用详解
    笔记42 Spring Web Flow——Demo(2)
    笔记41 Spring Web Flow——Demo
    Perfect Squares
    Factorial Trailing Zeroes
    Excel Sheet Column Title
    Excel Sheet Column Number
  • 原文地址:https://www.cnblogs.com/W-Y-C/p/11005537.html
Copyright © 2011-2022 走看看