52.基础语法-str

字符串

  • 用单引号,双引号,三引号,括起来的部分
  • 三引号特殊一些,可以注释,可以时字符串,作为字符串时可以保留输入格式
  • 字符串内有引号时,内有单引号,外用双引号,其他类推。

转义字符

  • 不分平台都一样
  • 唯一特使的是换行符 linux: \r\n window: \n或\r\n
  • 原意表达字符串,在字符串引号前加r
print("123\r\n456\r\n789")
print(r"123")

格式化

  • 对字符串中某个位置,进行替换填充

传统格式化,用%(占位符)进行替换,所有的占位符同C语言的占位符

s_gsh1 = "钓%s"
print(s_gsh1 % "鱼")
s_gsh2 = "我的身高%.2f米,我的体重%.2f公斤。"
print(s_gsh2 % (1.76,78.0))

format函数进行格式化

a = "Hello"
b = "World"
d = {"H":"Hello", "W":"World"}
print("{} {}!".format("Hello", "World"))
print("{1} {0}!".format(b, a))
print("{H} {W}!".format(H="Hello", W="World"))
print("{H} {W}!".format(**d)) #------"**d"属于字典的解包
 
print("我身高{:.2f}米,体重{:.2f}公斤。".format(1.76, 76.0))

str内置函数

  1. 查找类函数.find,.rfind,.index,.islower

    • .find和.index
      • 都是判断一个字符串中是否包含某子串
      • 使用方法一致,只是不包含时.find返回值是-1,.index直接报错
      • 返回值为子串所在位置(位置从0开始算起)
      • 后加.20意思是从第20个字符开始查找
    print("abcdefghijklmenopqrstuvwxyz".find("wxy",20))
    print("abcdefghijklmenopqrstuvwxyz".index("wxy"))
    
  2. 判断函数

    • 判断类函数,一般以is开头的函数都是判断类函数

    • 判断类函数返回值为True或False

    • 字符串中是否有空格不影响结果

    • 汉字无大小写区别

    • .islower和.isupper

      • .islower函数:判断字符串是否完全由小写组成
      • .isupper函数:判断字符串是否完全有大写组成
    print("sal dkfj".islower())
    print("sdfHHH".islower())
    print("SDFKJ".isupper())
    print("SDFKJadf".isupper())
    print("士大夫立刻就".islower())
    print("士大夫立刻就".isupper())
    
    • .isalpha函数
      • 判断字符串是否只由字母和汉字组成,返回True,否则返回False
    print("奥斯陆扩大".isalpha())
    print("sdfgkjh奥斯陆扩大".isalpha())
    print("abcdef%¥…………".isalpha())
    print("".isalpha())
    
    • .isdigit,.isnumeric,.isdecimal
      • 三个数字判断函数,具体有什么区别,去查英文含义,一般不用
    print("一二三四".isdigit())
    print("一二三四".isnumeric())
    print("一二三四".isdecimal())
    
    • .startswith和.endswith
      • 判断是否以某字符串开始或结束。
    #区分大小写和空格
    print("abcdefghijklmenopqrstuvwxyz".startswith("abc"))
    print("abcdefghijklmenopqrstuvwxyz".endswith("xyz"))
    
  3. 操作类函数

    • .format格式化函数:前面有解释
    • .strip,.lstrip,.rstrip
      -移除字符串开头或结尾的指定连续相同字符,不指定默认为移除空格
    print("FFFsdkfjkF".strip("F"))
    print("FFFsdkfjkF".lstrip("F"))
    print("FFFsdkfjkF".rstrip("F"))
    print("     sdkfjk    ".strip(), end="---\n")
    
    • .join:字符串的拼接,可在被拼接的各个元素间加入指定字符串。
    #被拼接元素具有迭代属性
    print("-".join("abc"))
    print("".join(["ab", "cd", "ef", "gh"]))
    print("--".join(["ab", "cd", "ef", "gh"]))
    
posted @ 2020-02-22 14:27  TK_tank  阅读(212)  评论(0编辑  收藏  举报