zoukankan      html  css  js  c++  java
  • Python-----风花雪月

    6.1小数据池

    小数据池就是Python中一种提高效率的方式,固定数据类型使用同一个内存地址.

    小数据池支持的类型:str,int,bool

    id 查看空间的内存地址,获取开辟空间的一种地址

    小数据池数字支持范围:-5~256

    代码块:一个文件,一个模块,一个函数,一个类,终端中每一行都一个代码块, 在python中是用字典的方式存储.

    is 判断两个内存地址是否相同
    == 判断等号两边的值是否相同

    字符串:

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

    如果is判断相同 == 一定相同
    如果==判断相同 is 不一定相同

    先执行代码块,不符合代码块才会执行小数据

    代码块的规则:

    数字: 全部驻留
    字符串:
    1.字符做乘法的时候总长度不能超过20
    2.自定定义的都驻留
    3.乘数为1的时候 就是赋值
    4.python3.7 乘法的时候总长度不能超过4096

    总结:

    小数池 -- 支持: str,int,bool
    小数据池数字: -5 ~ 256
    小数据池字符串: 乘法时长度不能超过20

    6.2集合

    集合:set

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

    增加:s.update() 迭代添加.

    s.add() 随机添加

    删除:s.pop() 随机删除

    s.remove() 通过元素删除

    s.clear() 清空

    del s 删除整个集合

    修改: 删除,再加

    查看:for循环

    集合的作用天然去重,具有唯一性.

    s1 = {1,2,3,4,5,6,7}
    s2 = {3,4,5,6}
    
    # 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)
    

    6.3深浅拷贝

    拷贝 - - copy 复制

    赋值 - - 两个变量指向了一个列表内存地址.

    赋值不是拷贝

    浅拷贝:只拷贝第一层,会创建一个新的列表,新创建的列表中的元素和原列表的元素用的是同一个内存空间. (s.copy())

    深拷贝:不可变的数据类型和原列表指向同一个空间,可变数据会创建一个新的空间.

    import copy

    copy.deepcopy()

  • 相关阅读:
    [滤镜]的firefox兼容问题
    软件编程中的21条法则
    程序员!你应该读别人的心得,但是一定要自己注解
    致橡树——舒婷
    高级动物
    终于把网站最后一个模块了结了
    终于解决了网站程序中的问题
    北京杂种
    博客园驻小窝
    Eval函数
  • 原文地址:https://www.cnblogs.com/hql1117/p/11005542.html
Copyright © 2011-2022 走看看