zoukankan      html  css  js  c++  java
  • 数据类型的使用方法基础篇之一


    一:可变不可变
    1. 可变类型:值改变,但是id不变,证明就是在改变原值,是可变类型
    x=9
    print(id(x),x)
    x=10
    print(id(x),x)
    2. 不可变类型:值改变,但是id也跟着变,证明是产生了新的值,是不可变类型
    l=['a','b']
    print(id(l))
    l[0]='A'
    print(l)
    print(id(l))
    一:数字
    2.1整型int
    作用:年级,等级,身份证号,QQ号等整型数字相关
    定义:age=10 # age=int(10)
    2.2浮点型float
    作用:薪资,身高,体重等浮点数相关
    定义:salary=3988.45 #salary=float(3988.45)
    都是存一个值,不可变类型

    三:字符串
    3.1索引取值:只能取
    a='hello,world'
    print(a[1])
    print(a[-3])
    3.2切片(顾头不顾尾,步长)
    a='hello,world'
    print(a[1:7:2])
    print(a[-3:-6:-1])
    3.3长度(len)
    a='hello,world'
    print(len(a))
    3.4成员运算
    in与not in
    a='hello world'
    b='e'
    c='k'
    print(b in a)
    print(c not in a)
    3.5移除空白strip
    用来去除字符串左右两边的字符,不指定默认去除的是空格
    print((*******egon******).strip(*))
    3.6切分split
    info='egon:18:male'
    res=info.split(':')
    l=['egon',18,'male']
    res=':'.join(l)
    print(res)
    3.7 循环
    info='hello world'
    for item in info:
    print(item,end=' ')
    需要掌握的操作:

    1、strip,lstrip,rstrip
    print('******egon***********'.strip('*'))
    print('******egon***********'.lstrip('*'))
    print('******egon***********'.rstrip('*'))
    2、lower,upper
    print('Abc123'.lower())
    print('Abc123'.upper())
    3、startswith,endswith
    msg='alex is dsb'
    print(msg.startswith('alex'))
    print(msg.endswith('b'))

    4、format的三种玩法
    A: res='my name is %s my age is %s' %('egon',18)
    print(res)
    B:res='my name is {} my age is {} my gender is {}'.format('egon',18,'male')
    print(res)
    C:res='my name is {0}{1} my age is {1}{1}{1}{1} my name is {2}'.format('egon',18,'male')
    print(res)
    小结:存一个值 有序 不可变


    三:列表

    3.1用途:按照位置记录多个值,索引对应值
    3.2定义方式:在[]内用逗号分隔开多个任意类型的值
    l=['a',11,11.3,] # l=list(['a',11,11.3,])
    数据类型转换:但凡能够被for循环遍历的数据类型都可以传给list,被其转换成列表
    res=list('hello')
    res=list(123)
    print(res)
    res=list({'a':1,'b':2,'c':3}) # []
    print(res)

    3.3常用操作+内置的方法
    优先掌握的操作:
    3.3.1、按索引存取值(正向存取+反向存取):即可存也可以取
    l=['a','b','c','d','e']
    print(l[0])
    print(l[-1])
    print(id(l))
    l[0]='A'
    print(id(l))

    强调强调强调!!!:对于不存在的索引会报错
    l[5]='AAAA'

    dic={"k1":111}
    dic['k2']=2222
    print(dic)

    3.3.2切片(顾头不顾尾,步长)
    l=['a','b','c','d','e']
    print(l[1:4])
    print(l[::-1])
    3.3.3长度
    l=['a','b','c','d','e']
    print(len(l))

    3.3.4成员运算in和not in
    l=['a','b','c','d','e']
    print('a' in l)
    3.3.5追加与insert
    l=['a','b','c','d','e']
    l.append('xxx')
    l.append('yyy')
    print(l)
    l.insert(0,'xxxx')
    print(l)

    3.3.6、删除
    l=['a','bbb','c','d','e']
    del是一种通用的删除操作,没有返回值
    del l[0]
    print(l)
    dic={'k1':1}
    del dic['k1']
    print(dic)

    l.remove(指定要删除的那个元素),没有返回值
    res=l.remove('bbb')
    print(l)
    print(res)

    l.pop(指定要删除的那个元素的索引),返回刚刚删掉的那个元素
    l=['a','bbb','c','d','e']
    l.pop(-1)
    res=l.pop(1)
    print(l)
    print(res)
    3.3.7循环
    l=['a','b','c','d','e']
    for item in l:
    print(item)
    练习:
    3.4队列:先进先出
    l=[]
    入队
    l.append('first')
    l.append('second')
    l.append('third')
    print(l)
    3.5出队
    print(l.pop(0))
    print(l.pop(0))
    print(l.pop(0))

    3.6堆栈:后进先出

    需要掌握的操作
    l=['aaa','bb',345]
    l.clear()
    l.append([1,2,3])

    for i in [1,2,3]:
    l.append(i)
    l.extend([1,2,3])

    l.reverse()

    只有在类中中所有元素都是同种类型的情况下才能用sort排序
    l=[1,3,2]
    l.sort(reverse=True)

    l=['z','d','a']
    l.sort()
    print(l)
    小结:存多个值 有序 可变

    承蒙关照
  • 相关阅读:
    JVM源码分析 规格严格
    Smack 规格严格
    Java动态编译 规格严格
    RPM仓库地址 规格严格
    使用控制台程序测试DLL依赖
    TestNG 使用入门
    白羊座二:星星的一周
    路遇两骗子
    《落地,请开手机》里面最经典的一句台词
    今天明白的一个道理
  • 原文地址:https://www.cnblogs.com/guanlei/p/10581104.html
Copyright © 2011-2022 走看看