Python学习Day05

DAY05

整型

  • python2与python3中的区别

    整型在计算机中是用于计算和比较的。

    在python3中所有的整数都是int类型,但在python2中如果数据量比较大,会使用long类型。

    python3中不存在long类型。

    python中数字占-2的31次方到2的31次方-1。

字符串

​ 字符串的作用:存储数据,存储量比较小

a = "abcdefg"
  • 索引

    元素:是字符中的单个字母

    # 从左到右排序 0,1,2,3
    s = "meat"
    print(s[2])
    # 从右到左 -4,-3,-2,-1
    print(s[-2])
    # 练习
    s0 = "dapannodick"
    # 从左到右找p
    print(s0[2])
    # 从右到左找c
    print(s0[-2])
    
  • 切片

    # 切片
    # 要获取s0中的panno; print(s0[起始位置:终止位置+1])
    print(s0[2:7])
    print(s0[-9:-4])
    # 中文字符串也同理,注意!!!标点符号也算一位
    
  • 步长

    # 步长默认是一,从左往右
    # 步长为正从左往右,步长为负从右往左
    print(s0[0:5])
    # 第三位改变步长为2
    print(s0[0:5:2])
    print(s0[-5:0:-2])
    s1 = "abcdefg"
    print(s1[-1:2:-3])  # 为gd
    
    # print(s1[0:100]) 切片可以超出索引范围
    # print(s1[66]) 索引超出范围会报错
    print(s1[::-1])  # 反转,并且:什么都不写说明从初始位置到终止位置全部获取
    # 回文 让用户输入内容,判断是否是回文,如果是则提示yes,否则提示no
    # 上海自来水来自海上
    s2 = input("please input a S:")
    if s2[::1] == s2[::-1]:
        print("yes")
    else:
        print("no")
    
  • 字符串的方法

  1. 修改

    g1 = g.upper()  # 全部大写
    g2 = g1.lower()  # 全部小写
    print(g1 + g2)  # 一般用于验证码校验
    # 替换
    g3 = g.replace("e", "a")  # 最后一个逗号不写说明全部替换,写int说明替换几个
    print(g3)
    # 应场景 such as LOL
    ban = ["tmd", "TMD", "儿子"]
    msg = input("input your report:")
    for i in ban:
        if i in msg:
            msg = msg.replace(i, len(i) * "*")
    print(msg)
    
  2. 操作

    gg = "      zed_niceeeeeeeeeeeeeeeeee        "  # 统计元素出现次数
    print(gg.count("e"))
    print(gg.strip("/n"))  # 去除换行
    print(gg.strip("/t"))  # 去除制表符
    print(gg.strip())  # 去除前后空格
    gg1 = gg.strip()
    print(gg1.strip("e"))  # 去除元素
    # !!!记得先去前后空格 制表符 换行然后去除元素
    

    gg2 = "alex_hello_ya"
    print(gg2.split("_"))
    
    # # 模拟一个两位数的加法计算器
    num = input("请输入数字:(格式为:数字1+数字2)")
    num1 = num.split("+")
    print(int(num1[0]) + int(num1[1]))
    
  3. 判断

    gg3 = "zed"
    print(gg3.startswith("z", 0, 3))  # 判断是否以z开头,返回的是布尔值,后面是切片范围
    print(gg3.endswith("d"))  # 判断是否以d结尾
    # is系列
    # 判断是否由中文,字母,数字组成
    print(s.isalnum())
    # 判断是否由字母,中文组成
    print(s0.isalpha())
    # 判断是否由数字组成
    ss = "6666⑤"
    print(ss.isdigit())
    # 判断是否是10进制数字
    print(ss.isdecimal())
    
  • for循环

    • 获取长度(除了不能求数字的长度,其他类型都能获取)

      xh0="aaaaaaaaaaaaaaasssssssssssss"
      print(len(xh0))
      print(len(str(xh1)))
      
    • 循环

      i = 0
      # while i < len(xh0):
      #     print(xh0[i])
      #     i += 1
      
      # for:变量名   i:变量名   in:关键字  xh0:可递代对象(除了int和bool)
      for i in xh0:
          print(i)
      print(i)  # x
      # 面试题
      j = 0
      for j in "abcd":  # 这里已经完成内存替换d
          pass  # 什么都不干,只占个个位置
      print(j)
      
      k = 0
      for k in "qwq":
          print(8)  # 只借用了循环次数
      
  • 查找

    your_name = "zedshuaiqi"
    print(your_name.find("s"))  # 查找到返回对应索引值,多字符返回最前面那个字符的索引值
    print(your_name.find("y"))  # 查找不到的返回-1
    print(your_name.index("i"))
    
  • 格式化

    my_name = "{}:hello"
    my_name1 = my_name.format("zed")  # 按照位置填充
    
    my_name = "{0}666{2}777{1}888"
    my_name2 = my_name.format("666+", "888+", "777+")  # 按照关键字填充
    
    my_name = "{a}666{b}777{c}888"
    my_name3 = my_name.format(a="666+", c="888+", b="777+")
    print(my_name1)
    print(my_name2)
    print(my_name3)
    # 格式化:1.%s    2.f-string  3.format()
    
posted @ 2020-11-10 23:00  TheBugSir  阅读(63)  评论(0)    收藏  举报