zoukankan      html  css  js  c++  java
  • 基本数据类型总结

    一.可变和不可变类型

    可变类型:值发生改变时,内存地址不变,即id不变,证明在改变原值
    不可变类型:值发生改变时,地址也发生改变,即id也变,证明是没有在改变原值,是产生了新的值
    数字类型:

    >>> x=5
    >>> id(x)
    140722754799392
    >>> x=6
    >>> id(x)
    140722754799424#内存地址改变了,说明整形是不可变类型,浮点型也一样
    

    字符串类型:

    >>> str1='大傻子吗'
    >>> id(str1)
    2368083743248
    >>> str1='臭妹妹呀'
    >>> id(str1)
    2368083743056#内存地址改变了,说明字符串也是不可变类型
    

    列表类型:

    >>> list1 = ['tom','jack','egon']
    >>> id(list1)
    486316639176
    >>> list1[2] = 'kevin'
    >>> id(list1)
    486316639176
    >>> list1.append('lili')
    >>> id(list1)
    486316639176
    # 对列表的值进行操作时,值改变但内存地址不变,所以列表是可变数据类型
    

    元祖类型:

    >>> t1 = ("tom","jack",[1,2])
    >>> t1[0]='TOM' # 报错:TypeError
    >>> t1.append('lili') # 报错:TypeError
    # 元组内的元素无法修改,指的是元组内索引指向的内存地址不能被修改
    >>> t1 = ("tom","jack",[1,2])
    >>> id(t1[0]),id(t1[1]),id(t1[2])
    (4327403152, 4327403072, 4327422472)
    >>> t1[2][0]=111 # 如果元组中存在可变类型,是可以修改,但是修改后的内存地址不变
    >>> t1
    ('tom', 'jack', [111, 2])
    >>> id(t1[0]),id(t1[1]),id(t1[2]) # 查看id仍然不变
    (4327403152, 4327403072, 4327422472)
    

    字典类型:

    >>> dic = {'name':'egon','sex':'male','age':18}
    >>> 
    >>> id(dic)
    4327423112
    >>> dic['age']=19
    >>> dic
    {'age': 19, 'sex': 'male', 'name': 'egon'}
    >>> id(dic)
    4327423112
    # 对字典进行操作时,值改变的情况下,字典的id也是不变,即字典也是可变数据类型
    

    集合类型:

    >>> set1={1,2,3,5,6}
    >>> id(set1)
    2368083717024
    >>> set1={5,6,58,3,}
    >>> id(set1)
    2368083716800#所以说集合也是不可变类型
    

    总结:

  • 相关阅读:
    php 采集程序
    15个实用的PHP正则表达式
    jQuery Mobile优秀网站及资源汇总
    连接ORalce数据库
    Windows Mobile如何观看Webcast
    解决wpf中使用WinformsHost显示滚动条的问题
    利用反射调用类及其属性和方法
    一些实用的vs.net2008 快捷键(已验证)
    WW插件研究
    微软今天公布了下一代Visual Studio和.NET Framework开发工具和平台,该平台将被命名的Visual Studio 2010和.Net Framework 4.0.
  • 原文地址:https://www.cnblogs.com/linqiaobao/p/12482779.html
Copyright © 2011-2022 走看看