day 05

day 05 续day 04

数据类型

字符串内容补充

1.字符串

  • startwith / endwith 判断是否以什么开头

    name = 'alex'
    # 方式一
    flag = name.startswith('al')
    print(flag)
    #方法二
    # value = name[0:2]
    # if value == 'al':
    #     print('是以al开头')
    # else:
    #     print('不是以al开头')
    
  • format 字符串格式化

    #  format
    name = '我叫{0},今年{1}'.format('oldboy',73)
    print(name)
    
  • encode

    name = '李杰'  # 解释器读取到内存后,按照unicode编码存储:八个字节
    v1 = name.encode('utf-8')
    print(v1)
    
    v2 = name.encode('gbk')
    print(v2)
    
  • join 循环,并在每个元素之间加入连接符

    name = 'alex'
    value = "_".join(name)
    print(value)
    
    

2 . 公共功能

  • 索引,获取一个字符

  • 切片,获取一段字符串(子序列)

  • 步长,

    # name = 'alexalexalex'
    # #
    # # value = name[0:2]
    # # value = name[0:-1]
    # # value = name[0:-1:2]
    # # value = name[1:-1:2]
    # # value = name[::2]
    # value = name[-1:0:-2]
    # print(value)
    
    # 字符串反转
    name ='alex'
    val = name[::-1]
    print(val)
    
  • 长度,获取字符串长度

  • for 循环

    name = 'alex'
    for item in name:
        print(item)
    
    name = 'alex'
    for item in name:
        print(item)
        break
        print('123')
    
    name = 'alex'
    for item in name:
        print(item)
        continue
        print('123')
    
    # 练习
    
    # 1. for循环打印“alex” 的每个元素:for > while
    
    # 2.  请打印 1-10  for循环 + range
    '''
    for i in range(1,11):
            print(i)
    '''
    '''        
    # 3. 请打印 1 2 3 4 5 6 8 9 10
    for i in range(1,11):
        if i == 7:
            continue
        else:
            print(i)
    '''
    
    

    注意:for和while的应用场景:有穷尽优先使用for 无穷尽优先使用while

1.列表

  • 如果想表示两个同学 users = “张三,李四。。。”

  • 想要表示多个“事物”,可以使用列表

    users = ["张三","李四",99]
    
    • 公共功能

      • len

        users = ["张三","李四",99]
        val = len(users)
        print(val)  #结果为 3
        
      • 索引

        users = ["张三","李四",99]
        val= users[0]
        print(val)
        
      • 切片

        users = ["张三","李四",99]
        val= users[0:2]
        
      • 步长

        users = ["张三","李四",99]
        val= users[0:2:2]
        
        
        • 练习题
        # 实现一个加法计算器
        # 思路一:
        '''
        content = input('请输入:')
        content = content.strip()
        v1 = int(content[0])
        v2 = int(content[-1])
        v3 = v1 + v2
        print(v3)
        '''
        # 思路二
        '''
        content = input('请输入:')
        content_len = len(content)
        index = 0
        total = 0
        while True:
            char = content[index]
            if char.isdigit():
                total += int(char)
            index += 1
            if index == content_len:
                break
        print(total)
        '''
        
        #思路三:
        
      • for循环

    • 总结

        • append / insert
        • remove / pop / clear / del users[2]
        • users[3] = “新值”
        • 索引 / 切片
      • 列表嵌套

        users = ["alex",0,True,[11,22,33,"老男孩"],[1,["alex","oldboy"],2,3]]
        
        users[0]  # alex
        users[2]  # True
        users[0][2]  # e
        users[3]  # [11,22,33,"老男孩"]
        users[3][-1]  #  "老男孩"
        users[3][-1][1] # "老"
        users[3] = 666
        

2.元组

  1. 元组书写规范

    users = [11,22,33,"oldboy"]  # 列表(可变)
    
    users = (11,22,33,"oldboy")  # 元组(不可变)
    
  2. 公共功能

    1. 索引(排除: int / bool)

      users = (11,22,33,"oldboy")
      
      print(users[0])
      print(users[2])
      
    2. 切片(排除: int / bool)

      users = (11,22,33,"oldboy")
      print(users[0:2])
      
    3. 步长(排除: int / bool)

      users = (11,22,33,"oldboy")
      print(users[0:2:2])
      
    4. 删除(排除: tuple / str / int / bool)

    5. 修改(排除: tuple / str / int / bool)

    6. for 循环(排除: int / bool)

      users = (11,22,33,"oldboy")
      for item in users:
          print(item)
      
    7. len(排除: int / bool)

      users = (11,22,33,"oldboy")
      print(len(users))
      
  3. 独有功能(无)

  4. 特殊:元组中的元素不可被修改 / 删除。

    # 示例一:
    v1 = (11,22,33)
    v1[1] = 999 # 错误
    v1 = 999  # 正确
    
    # 示例二:可以嵌套
    v1 =  (11,22,33,(44,55,66),(11,2,(99,88),3))
    
    # 示例三:嵌套
    v2 = [11,22,33,(11,22,33)]
    v2[-1][1] = 99 #错误
    v2[-1] = 123 # 正确
    
    # 示例四:嵌套
    v3 = (11,[1,2,3],22,33)
    v3[1] = 666 # 错误
    v3[1][2] = 123
    
    

总结

  1. 解释型语言和编译型区别以及列举了解的语言

  2. 字符串补充功能

    • 独有

      • startwith / endwith
      • format
      • encode
      • join
    • 公共

      • 索引

      • 切片

      • 步长

      • for 循环

      • range(0,10) #帮助你生成一个数字列表

    • 字符串特性

      • 不可变,所以字符串元素不能删除和修改
  3. 列表(可变)

    • 公共
      • 索引
      • 切片
      • 步长
      • 修改
      • 删除
      • len
      • for
    • 独有
      • append
      • insert
      • pop
      • remove
      • clear
    • 列表嵌套
  4. 元组(不可变)

    • 公共

      • 索引
      • 切片
      • 步长
      • len
      • for
    • 独有功能(无)

    • 元组嵌套

      v3 = (11,[1,2,3],22,33)
      v3[1] = 666 # 错误
      v3[1][2] = 123
      
posted @ 2019-05-12 10:51  风里来雨里去duu  阅读(95)  评论(0编辑  收藏  举报