zoukankan      html  css  js  c++  java
  • python可变对象

    - 每个对象中都保存了三个数据:
      id(标识)
      type(类型)
      value(值)

    - 列表就是一个可变对象
      a = [1,2,3]

    - a[0] = 10 (改对象)
      - 这个操作是在通过变量去修改对象的值
      - 这种操作不会改变变量所指向的对象
      - 当我们去修改对象时,如果有其他变量也指向了该对象,则修改也会在其他的变量

    # # 可变对象
    a = [1,2,3]
    print('修改前:', a , id(a))
    
    # # 通过索引修改列表   改变值
    a[0] = 10
    print('修改后:', a , id(a))
    
    # # 为变量重新赋值     改变id和值
    a = [4,5,6]
    print('修改后:', a , id(a))
    
    print('
    
    ')
    
    a = [1,2,3]
    b = a
    b[0] = 10
    b = [10,2,3]
    print("a",a,id(a))
    print("b",b,id(b))
    
    print('
    
    ')
    
    # == !=  is is not
    # == != 比较的是对象的值是否相等 
    # is is not 比较的是对象的id是否相等(比较两个对象是否是同一个对象)
    
    a = [1,2,3]
    b = [1,2,3]
    print(a,b)
    print(id(a),id(b))
    
    print('
    
    ')
    
    print(a == b) # a和b的值相等,使用==会返回True
    print(a is b) # a和b不是同一个对象,内存地址不同,使用is会返回False
  • 相关阅读:
    直接插入排序
    希尔排序
    堆排序
    红黑树
    hashMap原理
    JAVA随笔4
    JAVA随笔3(集合框架,流)
    Linux环境下如何生成core文件
    Centos6 升级glibc-2.17,解决Requires: libc.so.6(GLIBC_2.14)(64bit)错误解决方法
    MediaWiki搭建步骤
  • 原文地址:https://www.cnblogs.com/FlyingLiao/p/11185748.html
Copyright © 2011-2022 走看看