Python字符串,


字符串:

数据类型的分类

可变(不可哈希)的:list dict set
不可变(可哈希)的:str bool int tuple

  • split ---默认按照空格分隔,返回一个列表

    s = "我 喜欢 Python"
    s1 = s.split()
    print(s)
    print(s1)
    我 喜欢 Python
    ['我', '喜欢', 'Python']

    也可以指定字符串分隔

    s = "我,一直,都,很喜欢,学习," #注意结尾有个“,” 分隔出来是空字符串
    s1 = s.split(",")
    s2 = s.split(",",2)  #2表示就分隔前两个
    print(s1)
    print(s2)
    ['我', '一直', '都', '很喜欢', '学习', '']
    ['我', '一直', '都,很喜欢,学习,']
  • join ---联合字符串?返回一个字符串

    s = "Faye"
    s1 = "-".join(s)
    print(s1)
    s2 = "0.0"
    s3 = s2.join(s)
    print(s3)
    F-a-y-e
    F0.0a0.0y0.0e

    如果是列表,列表内容只能是字符串,不能是数字,不能是布尔型

    s = ['haha','你好',"好久不见"] 
    s1 = ",".join(s)
    print(s1,type(s1))
    haha,你好,好久不见 <class 'str'>

    如果是数字或者布尔型则会报错.

  • count ---数出字符串某个字符出现的次数

    s = "今天天气不错,希望天天都能有这样的天气"
    s1 = s.count("天")
    s2 = s.count("天气")
    print(s1)
    print(s2)
    5
    2
  • find ---查找字符串出现的索引

    s = "哈嗝哈哈大家好,我在这里哈哈"
    s1 = s.find("哈哈") #找到第一个出现的索引
    print(s1)
    s2 = s.find("不") #,如果找不到会返回-1
    print(s2)
    s3 = s.find("哈哈",10) #切片找,这里是从索引为10到最后
    print(s3)
    2
    -1
    12
  • is系列

    isdecimal可以用于:

       if s1.isdecimal():
           s1 = int(s1)
       else:
           print("输入错误!请输入一个整数!")
    • 注意:这三种方法都只是判断数字,不能有负号,不能有小数点。

      num = "20.19"
      print(num.isdigit())
      print(num.isdecimal())
      print(num.isnumeric())
      False
      False
      False
    • 那要是是小数或者是负号怎么判断,我写了一个函数,可能写得不够简单,请大家指教!

      def fun(a):
          flag = 1
          a = str(a)
          if a[0] == "-":
              a = a.replace("-","0",1)
              flag = 0
          if a.isdecimal():
              if flag == 1:
                  print("是正整数!")
              else:
                  print("是负整数!")
          elif a.count(".") == 1 and not a.startswith(".") and not a.endswith("."):
              print("是小数")
          else:
              print("输入的不是数字!")
      fun(23.4)
      fun(-57.2)
      fun(-12)
      fun(2019)
      是小数
      是小数
      是负整数!
      是正整数!
  • in,not in

    s = "好好学习,天天向上"
    print("天天" in s)
    print("天上" in s) #一定要是连续的字符串在里面才是True
    print("天上" not in s)
    True
    False
    True

    列表里是以引号为单位的

    s = ["你好","Python"]
    print("Python" in s)
    print("Py" in s)
    True
    False
  • len() ---计算字符串的长度

    a = "哈hh哈哈 123,"
    print(len(a))
    10

    不管中文还是英语还是数字还是空格还是标点,都是1个长度

  • 相关内容

      暂无相关文章

    评论关闭