zoukankan      html  css  js  c++  java
  • 小数据池的概念

    小数据池

    1.小数据池的定义

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

    小数据池是干嘛的? a = 1 b = 1 id 查看空间的内存地址 获取开辟空间的一种地址 print(id(a)) print(id(b))

    2.小数据池的范围

    2.1数字

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

    a = 300 ​ b = 300 ​ print(id(a)) ​ print(id(b))

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

    a = 1000 ​ b = 1000 ​ print(id(a)) ​ print(id(b))

    is # 判断两个内存地址是否相同 # 必须记住 ​ == # 判断等号两边的值是否相同 # 必须记住

    2.2字符串

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

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

    a = 1000 ​ b = 1000 ​ print(a == b)

    a = "alexdsb" * 2 ​ b = "alexdsb" * 2 ​ print(a is b)

    a = "12345678912345678qwertyuioqwertyuioQWERTYUIOWERTYUIOQWERTYUIOasdfghjksdfghjkasdgadsfasdfgasdgasdgfsdaf" ​ b = "12345678912345678qwertyuioqwertyuioQWERTYUIOWERTYUIOQWERTYUIOasdfghjksdfghjkasdgadsfasdfgasdgasdgfsdaf" ​ print(a is b)

    a = "你" ​ b = "你" ​ print(a is b) # pycharm中是True 因为执行了代码块,终端中是False

    a = "@" ​ b = "@" ​ print(a is b)

    a = "你好" ​ b = a * 1 ​ print(a is b)

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

    3.代码块

    3.1代码块的规则

    3.1.1数字

    数字:全部驻留

    3.1.2字符串

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

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

    怎么能自己驻留? 需要使用python的内置模块

    from sys import intern a = intern("@@@@@@"20) b = intern("@@@@@@"20) print(a is b) # 自己进行驻留

  • 相关阅读:
    谈谈WPF中的CollectionView与CollectionViewSource (1)
    XPath语法备忘
    WPF中,如何将绑定源设置到单件实例
    避免让WPF资源字典变得杂乱臃肿
    自定义WPF面板
    [WPF疑难] 继承自定义窗口
    WPF高手:站出来,Show出来
    Windows Presentation Foundation Tools and Controls
    放送Ifttt邀请四枚
    使用Amazon S3 Service时报403错误的解决方法
  • 原文地址:https://www.cnblogs.com/zy740/p/11037902.html
Copyright © 2011-2022 走看看