zoukankan      html  css  js  c++  java
  • Python变量的三个特征

    变量的三个特征

    ​ 对于每个变量,python都提供了这三个方法分别获取变量的三个特征,其中python的内置功能id(),内存地址不一样,则id()后打印的结果不一样,因为每一个变量值都有其内存地址,而id是用来反映变量值在内存中的位置,内存地址不同则id不同

    x = 10
    print(x)  # 获取变量的变量值
    print(id(x))  # 获取变量的id,可以理解成变量在内存中的地址
    print(type(x))  # 获取变量的数据类型,下章会详细介绍数据类型
    

    一.打印

    x = 10
    print(x)  # 获取变量的变量值
    

    10

    二.判断变量值是否相等

    x = 10
    print(x)  # 获取变量的变量值
    

    10

    三.判断变量ID是否相等

    x = 11
    y = x
    z = 11
    print(x == y)  # True
    True
    
    print(x is y)  # True
    True
    
    print(x is z)  # True,整数池的原因
    True
    
    x = 257
    z = 257
    print(x is z)  # False
    False
    
    从上述打印消息中可以看出:
        ID相同的变量,值一定相等(指向的是同一个内存地址)
        值相等的变量,ID不一定相等。
    其中在第一次打印`print(x is z)`的时候就触发了上一章讲的整数池。这可以理解成python的优化机制,11的值本身不大,并且由于我们快速的再一次使用了11,再由于申请内存空间需要计算机开销,因此python让x和z都指向同一个11。因为存不是目的,取才是目的,这样进行优化的话并不会影响程序的运行。
    

    作者:罗文祥
    来源:祥SHAO
    原文:https://www.cnblogs.com/LWX-YEER/p/11234296.html
    版权声明:本文为博主原创文章,转载请附上博文链接!

  • 相关阅读:
    Leetcode 650
    Leetcode 292
    Leetcode 162
    Leetcode 600
    Leetcode 1894
    知识库
    Win2012R2(英文版)开放远程用户登录数量限制的设置
    Win2012R2(英文版)多账号登录,报错:Select a user to disconnect so that you can sign in的处理
    webstorm修改默认浏览器方法
    处理Chrome等浏览器无法上网,但微信能正常使用问题
  • 原文地址:https://www.cnblogs.com/LWX-YEER/p/11234296.html
Copyright © 2011-2022 走看看