字符串函数

字符串

目标:掌握字符串的一些使用语法,熟悉字符串常用函数,了解怎么使用。

为什么不是掌握函数?因为你忘了也没关系呀,随处可查。

前面说了函数,这一节大部分就说一些关于字符串的内置函数,当然并不是所有都是函数。

这节的主要目的是熟悉内置函数的使用,而并不是记住某个函数,要不然以后看到其他函数也同样不会使用。

测试用字符串:

str = 'abcdefghijklmnooohello'

判断

  1. in:是 Python 中的一个关键字,用于检查某个元素是否存在于某个序列(如列表、元组、字符串等)

    print('a' in str)  # True
    

    注意哈,它是关键字,并不是函数。

  2. islower():用于检查字符串中的所有字符是否都是小写

    print(str.islower())  # True
    
  3. isupper():用于检查字符串中的所有字符是否都是大写

    print(str.isupper())  # False
    
  4. startswith():用于检查字符串是否以指定的前缀开始

    print(str.startswith('a'))  # True
    print(str.startswith('b'))  # False
    
  5. endswith():用于检查字符串是否以指定的后缀结束

    print(str.endswith('o'))  # True
    print(str.endswith('b'))  # False
    
  6. istitle():用于检查字符串中的单词是否都以大写字母开头

    print(str.istitle())  # False
    print('Abc'.istitle())  # True
    print('abc'.istitle())  # False
    
  7. isdigit():用于检查字符串是否只包含数字字符

    print(str.isdigit())  # False
    print('123465'.isdigit())  # True
    
  8. isalnum():用于检查字符串是否只包含字母和数字字符

    print(str.isalnum())  # True
    print('hello123465'.isalnum())  # True
    print('_hello123465'.isalnum())  # False
    
  9. isalpha():用于检查字符串是否只包含字母字符

    print(str.isalpha())  # True
    print('hello123465'.isalpha())  # False
    print('_hello123465'.isalpha())  # False
    

  1. +:用于连接两个字符串

    print(str + ' 123465')  # abcdefghijklmnooohello 123465
    
  2. format():用于格式化字符串

    print('abc {name} def {age}'.format(name='alice', age=16))  # abc alice def 16
    
  3. f“”:用于在字符串中嵌入变量

    name = 'alice'
    age = 16
    print(f'abc {name} def {age}')  # abc alice def 16
    
  4. copy.copy():用于创建对象的浅复制

    string2 = copy.copy(str)
    print(string2)  # abcdefghijklmnooohello
    

  1. replace():替换字符串中的某个或某些字符,基本格式是 str.replace(old, new)

    print(str.replace('o', 'p'))  # abcdefghijklmnppphellp
    
  2. strip():删除字符串开始或结束处的空格、制表符、换行符等

    str = ' ' + str + ' '
    print(str)  #  abcdefghijklmnooohello
    print(str.strip())  # abcdefghijklmnooohello
    
  3. lower():将字符串中的所有大写字母转换为小写

    print('ABcdeFg123456'.lower())  # abcdefg123456
    
  4. upper():将字符串中的所有小写字母转换为大写

    print('ABcdeFg123456'.upper())  # ABCDEFG123456
    

  1. 索引取值 字符串[索引]

    print(str[2])  # c
    
  2. 切片取值 字符串[开始索引:结束索引:步长]

    print(str[2:9])  # cdefghi
    
  3. len():返回字符串的长度

    print(len(str))  # 22
    
  4. find():返回子串在字符串中首次出现的索引位置,如果没有找到则返回-1

    print(str.find('o'))  # 14
    
  5. index():与find()类似,但是当子串不存在时,它会抛出一个ValueError异常

    print(str.index('o'))  # 14
    
  6. count():返回子串在字符串中出现的次数

    print(str.count('o'))  # 4
    

编码

  1. encode():将一个字符串(str)转换为一个字节串(bytes),默认情况下,该方法使用UTF-8编码方式

    print(str.encode())  # b'abcdefghijklmnooohello'
    
  2. decode():将一个字节串(bytes)转换为一个字符串(str)

    print(str.encode().decode())  # abcdefghijklmnooohello
    

如果使用了错误的字符集解码,就会出现 UnicodeDecodeError 错误。

其他

除了这些以外,还有一些其他的函数,比如 join、split,他们也可以用来处理字符串:

  1. join():将序列(如列表、元组等)的元素以特定的字符连接生成一个新的字符串

    # join
    print(' '.join(['a', 'b', 'c']))  # a b c
    
  2. split():将字符串分割成子字符串,返回一个包含这些子字符串的列表

    print(str.split('o'))  # ['abcdefghijklmn', '', '', 'hell', '']
    

既然这俩也是用来处理字符串的,那为什么不和前面的一起讲?

因为这两个涉及到了其他知识点,比如 join 的参数,它需要 ['a', 'b', 'c'],这个称为列表,它们会在后面的课程中才会接触到,所以就没有和前面放一起了。

posted @ 2023-11-17 13:57  笔锋微凉~~  阅读(9)  评论(0)    收藏  举报