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
    版权声明:本文为博主原创文章,转载请附上博文链接!

  • 相关阅读:
    codeforces C. Cows and Sequence 解题报告
    codeforces A. Point on Spiral 解题报告
    codeforces C. New Year Ratings Change 解题报告
    codeforces A. Fox and Box Accumulation 解题报告
    codeforces B. Multitasking 解题报告
    git命令使用
    shell简单使用
    知识束缚
    php 调用系统命令
    数据传输方式(前端与后台 ,后台与后台)
  • 原文地址:https://www.cnblogs.com/LWX-YEER/p/11234296.html
Copyright © 2011-2022 走看看