Python学习--day04

补充

  • 解释器/编译器

    • 补充:编译型语言和解释型语言?

      # 编译型:代码写完后,编译器将其变成成另外一个文件,然后交给计算机执行。 
      # 解释型:写完代码交给解释器,解释器会从上到下一行行代码执行:边解释边执行。 【实时翻译】

1.列表

  • 公共功能

    • len

      users = ["李邵奇","奇航",99] 
      val = len(users) 
      print(val) # 3
    • 索引

      users = ["李邵奇","奇航",99] 
      val = users(0) 
      print(val) # 3
    • 切片

      users = ["李邵奇","奇航",99]
      val = users[0:2]
    • 删除(字/布尔/字符串除外)

      users = ["李邵奇","奇航",99] 
      # 方式一 
          users.pop(1) 
          print(users)
      # 方式二: 
          del users[1] 
          print(users)
      

      注意:

      • 字符串本身不能修改或者删除(因为它是不可变类型)v1 = "alex".upper()
      • 列表是可变类型
    • 修改(字/布尔/字符串除外)

      users = ["李邵奇","奇航",99] 
      users[2] = 66
      users[0] = '李杰' 
      users[0][1]
    • 步长

      users = ["李邵奇","奇航",99]
      val = users[0:2:2]
      
    • 练习题

      """ 
      实现一个整数加法计算器(两个数相加):
      如:content = input("请输入内容:") 用户输入:5+9或5+ 9或5 + 9(含空白),然后进行分割转换最 终进行整数的计算得到结果。 
      """
      #我的思路
      
      content = input("请输入内容:")
      list_input = content.split("+")
      number1 = int(list_input[0].strip())
      number2 = int(list_input[1].strip())
      print(number1+number2)
      #老师的思路
      # 思路一: 
      """ 
      content = input('请输入:') # [5+9]  或 [5 +9]  或者 [ 5 + 9 ] 
      content = content.strip() # [5+9]  或 [5 +9]  或者 [5 + 9] 
      v1 = int(content[0]) 
      v2 = int(content[-1]) 
      v3 = v1 + v2 
      """
      
      # 思路二: 更智能的伸缩功能
      """ 
      content = input('请输入:') # [5+9]  或 [5 +9]  或者 [ 5 + 9 ] 
      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) 
      """
      
      
      # 思路三: 与我的思路相近
      """ 
      content = input('请输入:') # [5+9]  或 [5 +9]  或者 [ 5 + 9 ] 
      result = content.split('+') # print(result) # ['55 ', ' 99 '] 
      v1 = int(result[0]) # "55" 
      v2 = int(result[1]) # " 99 " 
      v3 = v1 + v2 
      print(v3) 
      """
      
      
    • for循环

      """ 
      users = ['李邵奇','利奇航','张三丰','李子森'] 
      for i in users:    
          print(i) 
      """ 
      """ 
      users = ['李邵奇','利奇航','张三丰','李子森'] 
      for i in users:    # 第一次循环:i=“李邵奇”    
          print(i)    
          for ele in i:        
              print(ele) 
      """

      独有功能

      • append,在列表的最后追加一个元素

        users = [] 
        users.append('alex') 
        print(users
        """
        示例一:
        users = []
        while True:
            name = input('请输入姓名:')
            users.append(name)
            print(users)
        """
        """
        示例二:
        # 录入用户和密码
        users = []
        for i in range(0,3):
            name = input('请输入用户名和密码:')
            users.append(name)
        print(users) # ['alex,123', 'oldboy,888', 'lishaoqi,123']
        
        # 用户和密码校验
        username = input('请输入要登陆用户名:')
        password = input('请输入要登陆密码:')
        for item in users:
            result = item.split(',') # ['alex','123']
            user = result[0]
            pwd = result[1]
            if user == username and pwd == password:
                print('登陆成功')
                break
        
        """
        
      • insert

      • remove

      • pop

      • clear

    • 总结

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

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

2元祖

  • 元祖书写规范

    users = [11,22,33,"老男孩"] # 列表(可变)
    
    users = (11,22,33,"老男孩") # 元组(不可变)
  • 公共功能

    • 索引(排除bool/int)

      users = (11,22,33,"老男孩")
      
      print(users[0])
      print(users[-1])
    • len

    • 切片

    • 索引

    • for/while

    • 步长(排除bool/int):切片走的距离

    • 删除

    • 修改

  • 没用独有功能

  • 特殊:元祖中的元素(儿子)不可以被删除/修改

    # 示例一:
    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. 字符串补充功能

    • 独有
      • startswith/endswith
      • format
      • encode
      • join
    • 公共
      • 切片
      • 索引
      • len
      • 步长(面试题)
      • for循环
      • range(0,10) # 帮助你生成一个数字列表 [0,1,2,3,4,5,6,7,8,9]
    • 特性:
      • 不可变,所以字符串元素不能删除和修改。
  3. git本地和远程要同步,以后只能操作本地然后提交。

  4. 列表(可变)

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

    • 公共

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

    • 元组嵌套

      v3 = (11,[1,2,3],22,33)
      v3[1] = 666 # 错误
      v3[1][2] = 123

猜你喜欢

转载自www.cnblogs.com/betwin/p/11346762.html