zoukankan      html  css  js  c++  java
  • 太白老师day6 1.代码块 2.is==id 3.小数据池

    1.代码块:

    一个模块一个函数一个类,一个文件都是代码块

    在交互模式下, 每一行都是一个代码块

    2. is == 

    内存地址 就是id门牌号

    在内存中id是唯一,如果两个变量指向的id相同,那么他们在内存中的值也是相同的

    is 判断的是两个变量的id值是否相同

    3. 小数据池(缓存机制,驻留机制)

    小数据池的应用类型, 数字,字符串,布尔值

    小数据池, Python对内存的一个优化

    他讲 -5~256的整数,以及一定规则的字符串(数字,字符串,下划线), 提前在内存中创建,容器中固定放一些数

    这里的话讲一个指定驻留, 

    from sys import  intern
    
    def func():
    
        i1 = intern('@@1000')
        print(id(i1))
    
    def func1():
        i2 = intern('@@1000')
        print(id(i2))
    
    func1()
    func()

    从上面可以看出,func 和 func1是两个不同的代码块, i1和i2都包含特殊字符,通过intern实现了强制放入小数据池的效果,这两个数据都是指向同一个内存地址的

    创建小数据池的作用:

                               减少内存

                                提高性能和效率

    pycharm :  #对于同一个代码块中的变量, 初始化对象的变量命名时,如果代码遇到初始化命令时,他会先从代码块的字典中寻找,如果存在相同的值,他会实现复用

    python : # 对于同一个代码中的变量,初始化对象的变量时,他会从小数据池中寻找

  • 相关阅读:
    deepin-wine-tim 字体发虚
    windows&linux双系统时间相差8小时
    Linux 禁用 ipv6
    双系统win10更新后无法进入linux
    Failed to receive SOCKS4 connect request ack 解决
    zsh 使用通配符功能
    vux修改css样式的2种办法
    Ubuntu 16.04 安装OpenSSH7.4
    Nginx开启http2访问和gzip网页压缩功能
    vue开发环境和生产环境里面解决跨域的几种方法
  • 原文地址:https://www.cnblogs.com/my-love-is-python/p/9449064.html
Copyright © 2011-2022 走看看