数据类型(二)

一.可变与不可变类型

  可变类型:值改变,但是id不变,证明就是在改变原值,是可变类型,比如列表和字典

  不可变类型:值改变,但是id也跟着变,证明是产生了新的值,是不可变类型。比如数字,字符串,元组。

二.数字类型

  1.整型 int(不可变)

    ①作用:通常用来记录年龄、等级、数量

    ②定义方式:

      age = 10   # age = int(10) 

    ③数据类型的转换,只能将纯数字的字符串转换成int

  2.浮点型 float(不可变)

    ①作用:通常用来记录身高、薪资、体重

    ②定义方式:

      salary = 10.1   # salary = float(10.1)

    ③数据类型的转换,只能将数字组成的字符串转换成float

三.字符串类型(不可变)

  1.基本使用

    ①用途:记录描述性质的状态

    ②定义方式:在单引号、双引号、三引号内一串包含一串字符串

    ③数据类型的转换;所有类型都可以被转换成字符串类型

  2.基本操作+内置操作的方法

    ①按索引取值(正向取+反向取):只能取

      例:say = ‘hello’

        print(say[0])   # h

        print(say[-1])  # o

    ②切片(顾头不顾尾,步长)

      例:say = ‘hello’

        print(say[0:3:1]  # hel 索引3之前,步长为1

        print(say[::])  # hello 取所有值,默认步长为1      

        print(say[::2])  # hlo 取所有值,默认步长为2

        print(say[::-1])  # olleh 取反

  

    ③长度 len

      len(say)  #hello的长度为5

    ④成员运算 in 和not in 判断一个子字符串是否存在于大字符串中

      print('el' in say)#hello 中有el故输出为True

    ⑤移除空白strip:用来去除字符串左右两边的字符,不指定默认去除空格(还有rstrip,只去除右边,lstrip,只去除左边)

      例:say='      he  llo  '    

        print(say.strip())  #输出为 he  llo,从左边往右知道检测到h时停止,接着又从右往左判断,故中间的空格并不会被去除。

    ⑥切分split:针对所有有规律的字符串,按照某种分隔符切成列表

      例:net='www.google.com'
        net_list = net.split('.',2)       #这里刚好切割两次
        print(net_list)                        #输出为['www', 'google', 'com']

    ⑦迭代添加 join

      例:print('.'.join(net_list))输出为www.google.com

    ⑧开始与结尾字符的判断

      print(say.startswith('h’))  #hello以h开头,故为True

      print(say.endswith('h’))        #hello以o结尾,故为False

    ⑨替换

      say.replace('hello','hello world')    #意思是把hello全部替换成hello world,也可以选择部分字符,进行替换以上改变而成的字符串都不是在原字符串上更改的,都是产生的新字符串,与原字符串无关。

四.列表类型(可变)

  1.基本使用

    ①用途:按照位置记录多个值,索引对应值

    ②定义方式:在[]内用逗号分隔开多个任意类型的值

      l=['a',11,22.3]    # l=list(['a',11,22.3])

    ③数据类型的转换:但凡能够被for循环遍历的数据类型都可以传给list,被其转换成列表

  2.常用操作+内置的方法

    ①按索引存取值(正向+反向存取):可存可取(不能用不存在的赋值进行赋值(不能像字典一样添加),直接报错)

      例:l=['a','b','c','d','e']
        print(l[0])                     #a
        print(l[-1])                    #e     
        l[0]='A'         #a换成A

    ②切片,成员运算 in not in,长度 len

      参考字符串

    ③追加与insert

      l.append('A')  #列表最后添加A

      l.insert('0','B')#在索引为0处添加B

    ④删除

      通用删除操作del

        del l[0]       #删除索引为0处的值

      remove删除要输入指定元素

        l.remove('a') #删除a

      pop指定删除索引位置的值,并返回(可以理解成取走这个值)

        l.pop() #默认索引为-1,删除最后一个值并返回

    ⑤可以用for遍历取出值

    ⑥取反与排序

      l.reserve() #列表取反,这里['e','d','c','b','a']

      l.sort(),默认从小到大排序,在()可以添加reverse=True,从大到小排序,默认是False

    

        

 

    

posted @ 2019-03-22 16:56  Mr-Bear  阅读(170)  评论(0编辑  收藏  举报