双引号包含单引号
字符串内如果包含单引号双引号,可以用双引号包含单引号的方式来解决
spam=" this is alice's cat."
转义字符
字符串内如果包含特殊字符,可以用转义字符反斜杠(\)来转义
spam=' this is alice\'s cat.'
原始字符串
字符串包含特殊字符,也可以在字符串前面加上r
spam= r'this is alice's cat.'
多行字符串
多行字符串是用三个单引号或者三个双引号包含的,其中的特殊字符也会被认为是字符串的一部分
spam=''' this is alice's cat.'''
spam=""" this is alice's cat."""
注释
注释有三种方式 # 、三个单引号和三个双引号
#这是一行注释
'''这是多行注释
这是多行注释
这是多行注释'''
"""这是多行注释
这是多行注释
这是多行注释"""
字符串下标切片
spam='hello world'
print(spam[1]) # 输出字符串下标为1的字符 e
print(spam[-1]) # 下标为-1 即为最后一个元素 d
print(spam[1:3]) # 字符串从下标1开始 向后切片三个字符 ell
print(spam[1:]) # 字符串从下标1开始 向后切片至末尾 ello world
print(spam[:4]) # 字符串从下标0开始 向后切片4个字符 hell
in和not in
spam='hello world'
print('hel' in spam) # True
print('hel' not in spam) # False
字符串方法upper()、lower()、isupper()、islower()
spam1='Hello World'
spam2='HELLO WORLD'
spam3='hello world'
spam1.upper()
print(spam1) # Hello World upper()方法不会修改字符串本身 而是返回了一个新的字符串
spam1=spam1.upper()
print(spam1) # HELLO WORLD 用spam1接收返回值,才可以改变原来的字符串
spam1=spam1.lower()
print(spam1) # hello world 用spam1接收返回值,才可以改变原来的字符串
print(spam2.isuper()) # True 字符串内字符全部为大写 返回True 否则为False
print(spam3.islower()) # True 字符串内字符全部为小写 返回True 否则为False
isX其他判断字符串方法
print('hello'.isalpha()) # 输出True isalpha()用来判断字符串是否全为字母 并且非空
print('hello123'.isalnum) # 输出True isalnum()用来判断字符串是否只包含了字母和字母 并且非空
print('123'.isdecimal()) # 输出True isdecimal()用来判断字符串是否只包含了数字 并且非空
print(' '.isspace()) #输出True isspace()用来判断字符串是否只包含了空格、制表符和换行 并且非空
print('This is A String'.istitle()) #输出True istitle()用来判断字符串是否只包含首字都是大写
startswith()和endswith()
print('hello world'.startswith('hel')) #输出True 判断字符串是否以特定字符开始
print('hello world'.startswith('rld')) #输出false
print('hello world'.startswith('rld')) #输出True 判断字符串是否以特定字符结束
print('hello world'.startswith('hel')) #输出false
join()和split()
list = ['a','b','c','d']
string1 = ','.join(list)
print(string1) # 输出 a,b,c,d 将list列表用','拼接起来
list1 = string1.spilt(',')
print(list1) # 输出 ['a','b','c','d'] 将string1字符串用','切割成数组 需要注意的是 如果split()方法不传参数,那么默认用空格或者换行切割
rjust()、ljust()、center()
'''
三个方法都有两个参数
第一个参数设定容器长度 这个容器长度包含字符串本身即预留位置
第二个参数为填充字符 如果不穿默认为空格 如果传入的话 填充字符为传入的参数
'''
string = 'helloworld'
print(string.rjust(20'*'))
#输出 '**********helloworld' rjust()为在指定容器内右对齐 即原始字符串在20长度的最右侧 向左将容器内其他字符填充为'*'
print(string.ljust(20'*'))
#输出 'helloworld**********' ljust()为在指定容器内左对齐 即原始字符串在20长度的最右侧 向右将容器内其他字符填充为'*'
print(string.ljust(20'*'))
#输出 '*****helloworld*****' center()为在指定容器居中对齐 即原始字符串在20长度居中 将容器内其他字符填充为'*'
字符串其他方法
rstrip():删除字符串右侧空白字符
lstrip():删除字符串左侧侧空白字符
strip():删除字符串两端空白字符 这个方法可以传入参数 如果不穿参 则默认删除字符串两端空格 如果传入参数,则删除字符串两端包含参数字符串的字符。 需要注意的是,传入的参数如果为字符串,那么解释器会将参数字符串拆分成字符数组,原始字符串两端包含参数字符串种任何一个字符都会被删除? 直到这个字符不是参数字符串中的任何一个
pyperclip方法需要引入pyperclip模块
import pyperclip
pyperclip.copy('helloworld') # 字符串拷贝到剪切板 相当于ctrl+c
pyperclip.paste('helloworld') # 字符串粘贴 读取拷贝的内容 相当于ctrl+v
|