• python——驻留机制


    最近看到一个很有意思的东西——python驻留机制

    1.什么是驻留机制?

    根据 内存id来看,二者指向同一块内存。这就是python的驻留机制,但驻留机制是有局限的。它只对数字0 - 9, 字母a - z,已经下划线 _ 有效。比如下面的例子,由于有了空格的参与,驻留机制无法发挥作用。

    2.驻留机制有什么用?

    能够提高一些字符串处理任务在时间和空间上的性能,非驻留比较效率为o(n),驻留时比较效率为o(1)

    3.驻留机制到底是个啥?

    对于这个概念其实没啥用,但是知道一些新知识还是有好处的。驻留机制有时候会影响很多东西,虽然我还没发现,但是肯定会有的。

    代码解释:

    a = '123'
    b = "123"
    c = '''123'''
    
    print(a)
    print(b)
    print(c)

    输出结果肯定是一样的。

    单引号和双引号都是字符串,两者没有太多的区别,为什么这么说,因为说话要留余地,以防后面出现更新,三引号是多行的字符串。

    下面来查看他们的地址是否一样,使用python的id方法。

    a = '123'
    b = "123"
    c = '''123'''
    
    print(a)
    print(b)
    print(c)
    
    print(a, id(a))
    print(b, id(b))
    print(c, id(c))

    运行结果:

    123
    123
    123
    123 1967846941056
    123 1967846941056
    123 1967846941056

    会发现虽然我们创建了三个不同的对象,但是他们地址是一样的,也就是三个指向了相同的内存地址,这就是所谓的驻留机制。

  • 相关阅读:
    Delphi数据类型转换
    js截取指定长度字符
    Internet Explorer无法打开站点,已终止操作
    关于最近做项目的一点点总结
    屏蔽右键菜单
    屏蔽回车自动提交
    自己写的一个客户端验证js
    如何播放声音文件
    如何:使用 CodeDOM 创建类
    js操作dom(4)关于xml节点属性的操作
  • 原文地址:https://www.cnblogs.com/xiaobaidaka/p/14857786.html
Copyright © 2020-2023  润新知