zoukankan      html  css  js  c++  java
  • PythonDay06

    第六章

    今日内容

    • 小数据池

    • 深浅拷贝

    • 集合

    小数据池

    • == is id

      == 判断两个值是否相等

      is --- 是 判断两个值的内存地址是否相等

    • 代码块:一个py文件,一个函数,一个模块,终端中每一行都是代码块

    代码块中有自己的内存空间:int ,str ,bool

    int:-2~正无穷

    a = -6
    b = -6
    print(a is b)

    a = 1000
    b = 1000
    print(id(a), id(b))
    print(a is b)

    str:

    • 字符串:

      • 定义字符串的时候是任意的

      • 字符串(字符和数字)进行乘法时总长度不超过20

      • 特殊符号(中文,符号)进行乘法的 时候乘以0 或 1

    bool:

    True,False

    小地址池 -- int,str , bool

    int:-5~ 256

    str:

    • 字母,数字长度任意

    • 字符串进行乘法的时候总长度不能超过20

    • 特殊符号进行乘法的时候只能乘 0

    驻留机制:节省内存空间,提升效率(减少了开辟空间和销毁空间的耗时)

    深浅拷贝

    赋值, =
    a = [1,2,3,4]
    b = a
    print(id(a),id(b))
    print(a is b)
    # a和b的内存地址一样,任何一个改,其他的改都改
    浅拷贝
    # 在列表的元素中,元素是列表的情况下,拷贝的是内存地址
    # 当内部的元素发生改变时,拷贝的列表和原列表都发生改变
    a = [1,2,3,[4,5]]
    b = a[:]  
    # 浅拷贝a[-1].append(6)
    print(b)
    深拷贝
    import copy  # 导入 copy模块
    a = [1,2,3,[4,5],6]
    b = copy.deepcopy(a)
    print(id(a[-2]))
    print(id(b[-2]))

    print(a)
    print(b)
    print(a == b)
    print(id(a),id(b))
    print(a is b)
    # 不可变数据类型内存地址共用,可变数据类型新开辟一个空间 不管嵌套多深

    集合

    集合中的元素要求是不可变的并且还是唯一的,我们就利用它是唯一来做去重

    集合 -- set

    s = {1,2,3,4}

    • 集合就是一个没有值得字典,无序,可变;

    • 天然集合去重

      s = {1,1,2,3,4,1,1,1,1}

    s = {}       # 空字典
    s1 = set()   # 空集合
    print(type(s1))
    print(type(s))
    集合的增:
    s = set()
    s.add('one')
    s.update('two') #不建议使用
    set('12345') #后面跟可迭代对象,只能迭代添加到空集合
    集合的删:
    s = {100, 200 ,500 , 10 , 0.1, 0.5}
    s.remove(500) # 通过元素删除
    s.clear() # 清空列表
    s.pop() # 随机删除
    集合的改

    先删除,后添加,没有改的方法

    集合的查

    for循环

    其他操作

    s = {1, 24, 25, 48, 98, 56}

    s_ = {1, 24, 25}

    • 差集 -

    print(s - s1)
    print(s1 - s)
    • 交集 &

    print(s & s1)
    
    • 并集 |

    print(s | s_)

    • 反交集 ^

    print(s ^ s_)

    • 子集 返回一个布尔值

    print(s > s_)

    • 父级

    print(s_ > s )

    • 冻结集合

    print(frozenset({1, 24, 5,4}))

  • 相关阅读:
    第三天 moyax
    mkfs.ext3 option
    write file to stroage trigger kernel warning
    download fomat install rootfs script
    custom usb-seriel udev relus for compatible usb-seriel devices using kermit
    Wifi Troughput Test using iperf
    learning uboot switch to standby system using button
    learning uboot support web http function in qca4531 cpu
    learngin uboot design parameter recovery mechanism
    learning uboot auto switch to stanbdy system in qca4531 cpu
  • 原文地址:https://www.cnblogs.com/xuyuwei/p/11323910.html
Copyright © 2011-2022 走看看