day05 数据基本类型及内置方法:字符串str、列表list

时间:2024-09-27 12:33:26

一:可变不可变类型

  1、可变类型

    值改变,id不变,说明是直接改变原值,是可变类型

  2、不可变类型

    值改变,id也跟着改变,说明是产生了新的值,是不可变类型

二:数字类型

  1、整型Int

    用途: 记录年龄、等级、号码

    定义:age = 10

    数据类型转换:只能将纯数字的字符串转化为Int

      x = '123'

      print(int(x))   # 123

    

  2、浮点型float

    用途:记录薪资等

    定义:salary = 12.1

    数据类型转换:只能将带有小数点的数字字符串转换为float

  3、该类型总结

    存一个值,不可变类型

三:字符串类型

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

  定义:单引号、双引号、三引号内包含一系列字符

  1.、操作及内置方法:

    1.优先掌握的方法

      #索引(正向、反向)

        s = 'hello world'

        print(s[0])   # h

        print(s[-1]) # d

      #切片(顾头不顾尾)    

        s = 'hello world'

        print(s[0:5])   # hello

        print(s[0:5:1]) # helo

      #长度len

        s = 'hello world'

        print(len(s)) #11

      #成员运算In、not in

        s = 'hello world'

        'h' in s #True

        'a' in s # False

      #切分(按照某种分隔符将字符切分为列表,以便于取值,split参数默认是空格)

        s = 'hello,world'

        print(s.split(','))  # ['hello', 'world']

      #去除字符串左右两边空格strip(strip参数默认是空格,可以自己指定想删除的字符)

        s = '****he*llo*****'

        print(s.strip('*'))    #  he*llo

      

      #循环

        s = 'hello'

        for i in s:

          print(i)   # h e l l o

    2.需要掌握其他方法

      #strip、lstrip(去除左边空格)、rstrip(去除右边空格)字符可以指定,默认空格

      #lower(将字符串字母全部变为小写)、upper(将字符串字母全变为大写)

      #startswith(判断字符串是否以某个子字符串开头)、endswith(判断字符串是否以某个子字符串结束)

      #format

        print('my name is {} my age is {}' %('egon',18))

        print('my name is {0} my age is {1}' %('egon',18))
        print('my name is {name} my age is {age}'.format(age=18,name='egon')) #该方法要求掌握

      #split、rsplit

        msg='get|a|3'

        print(msg.split('|',1)) #['get', 'a|3']
        print(msg.split('|')) #['get', 'a', '3']
        print(msg.rsplit('|',1))#['get|a', '3']

      #join

        msg='get|a.txt|333331231'

         l=msg.split('|')
         print(l)
        
         src_msg='|'.join(l)
         print(src_msg)

      #replace

        msg='alex say i have one tesla,alex is alex hahaha'

        print(msg.replace('alex','sb',1))
        print(msg)

      #isdigit # 判断字符串中包含的是否为纯数字

         print('10.1'.isdigit())
        age=input('>>: ').strip()
         if age.isdigit():
           age=int(age) #int('asfdsadfsd')
           if age > 30:
             print('too big')
          elif age < 30:
            print('too small')
          else:
            print('you got it')
         else:
           print('必须输入数字')

  2、字符串类型总结

    存一个值、有序、不可变类型

四:列表类型

  用途:记录多个同种属性的值

  定义:[]内用逗号分隔任意类型的值

  1.、操作及内置方法:

    1.优先掌握的方法

      #索引(正向、反向)

        s = ['h','e','l','l','o']

        print(s[0])   # 'h'

        print(s[-1]) # 'o'

      #切片(顾头不顾尾)    

        s = ['h','e','l','l','o']

        print(s[0:4])   # ['h', 'e', 'l', 'l']

        print(s[0:4:1]) # ['h', 'e', 'l', 'l', 'o']

      #长度len

        s =['h','e','l','l','o']

        print(len(s)) #5

      #成员运算In、not in

        s = ['h','e','l','l','o']

        'h' in s #True

        'a' in s # False

      #追加

        s = ['h','e','l','l','o']

        s.append(1)  # s = ['h','e','l','l','o',1]

         s.extend([2, 3])  # s = ['h','e','l','l','o',1, 2, 3]  将有序的数据类型逐个插入列表

      #删除

        s = ['h','e','l','l','o']

        del s[0]、remove('h')  #删除值,没有返回值

        pop(0) #删除第一个并返回值,不指定索引时默认删除最后一个

      

      #循环

        s = ['h','e','l','l','o']

        for i in s:

          print(i)   # h e l l o

  2、其他操作

    #队列与堆栈

    # 队列:先进先出

    # l=[]

    # 入队
    # l.append('first')
    # l.append('second')
    # l.append('third')
    # print(l)
    # # 出队
    # print(l.pop(0))
    # print(l.pop(0))
    # print(l.pop(0))

    # 堆栈:先进后出
    l=[]
    # 入栈
    l.append('first')
    l.append('second')
    l.append('third')
    # print(l)
    # 出栈
    print(l.pop())
    print(l.pop())
    print(l.pop())

    #index、find(输入想要找的值,如果找到则返回索引,其中Index找不到会报错,find找不到会返回-1)

    #reverse(将列表顺序颠倒)

    #sort(将列表元素按照从小到大排序,如果reverse=True则颠倒,改方法适用于列表内元素类型都一致)#sort()会改变原列表,而sorted()则是产生新的列表

    #count(统计一个值在列表内出现的次数)

      s = ['h','e','l','l','o']

      print(conut('l'))  # 2

  2、列表类型总结

    存多个值、有序、可变类型