双引号包含单引号

字符串内如果包含单引号双引号,可以用双引号包含单引号的方式来解决

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