单引号和双引号 ‘ 和 “

a = ``'asdf'
b = ``"asdf"
print``(a ``is ``b)
print``(``id``(a)``**, **``id``(b))
输出结果:
True
4572614768
4572614768
‘和“ 用法一样,不能混用

  • 输出[what’s your name ?]

分析:因为输出语句中存在单引号,所以这几句字符串用双引号
print``("what's your name ?")
输出结果:
what's your name ?

转义字符:

\t 表示制表符
\n 表示换行符
\ 表示反斜杠
\’ 表示’
\” 表示“
print``(``'what``\'``s your name ?'``)
输出结果:
what's your name ?
r’’ 取消转义 所有的字符都是原本字符的意思 原始字符串
print(r’c:\123’)
输出结果:
c:\123

长字符串的作用

注释作用
保留原始格式的字符串
s = ``"""<br />`` 测试1<br />`` text1<br />`` test1<br />``测试2<br />``text2<br />``test2<br />`` 测试3"""<br />``print``(s)
输出结果:
测试1
text1
test1
测试2
text2
test2
测试3
image.png

格式化字符串

拼串

image.png

占位符

%s 字符串占位

%f 浮点数占位

%d 整数占位

image.png

f’{变量}’

  1. ![image.png](https://cdn.nlark.com/yuque/0/2020/png/3014754/1608474081308-f8e48b8e-3716-4d8b-98d9-f560f367cfae.png#align=left&display=inline&height=242&margin=%5Bobject%20Object%5D&name=image.png&originHeight=242&originWidth=628&size=22240&status=done&style=none&width=628)

format() 占位

  1. ![image.png](https://cdn.nlark.com/yuque/0/2020/png/3014754/1608474539791-bad0098f-ae6a-4562-8b84-28ee47a3daa7.png#align=left&display=inline&height=327&margin=%5Bobject%20Object%5D&name=image.png&originHeight=327&originWidth=387&size=25463&status=done&style=none&width=387)

常见字符串的其他操作方法

len() 求长度

print(len(‘python’))
输出结果:
6

max() 最大值

min() 最小值

print(‘python中,最大是字母为:’ + max(‘python’) + ‘最小的字母为:’ + min(‘python’))
# 这里的+可以换成,
print(‘python中,最大是字母为:’, max(‘python’) + ‘最小的字母为:’, min(‘python’))
输出结果:
python中,最大是字母为:y最小的字母为:h
python中,最大是字母为: y最小的字母为: h
按照ascii表格的值来比较大小
image.png

split(参数) 分割字符串 参数是你自己去指定分割的规则

a = ‘how are you ??’
# 使用空格进行分割
b = a.split(‘ ‘)
print(b)
输出结果:
['how', 'are', 'you', '??']

join() 拼接字符串

a = ‘123456’
b = ‘-‘.join(a)
print(b)
输出结果:
1-2-3-4-5-6

find() 结果就是这个字符串所在位置的下标(索引),是从0开始的

a = ‘i love you i’
print(a.find(‘my’))
print(a.find(‘you’))
print(a.find(‘i’))
输出结果:
-1
7
0
从左到右开始找,只输出第一个找到的值所对应的下标
寻找的值不存在的,输出-1

index() 查找,和find()类似 当查找的条件没有时会报错

a = ‘i love you i’
print(a.index(‘i’))
print(a.index(‘l’))
print(a.index(‘lo’))
print(a.index(‘m’))
输出结果:
0
2
2
ValueError: substring not found //当查询的数值没有时会报错

replace 替换

a = ‘i love you i’
b = a.replace(‘you’, ‘myself’)
d = a.replace(‘i’, ‘10’)
e = a.replace(‘my’, ‘10’)
print(b)
print(d)
print(e)
输出结果:
i love myself i
10 love you 10
i love you i
替换所有关键词部分,如果关键词找不到,输出原来的内容

partition 把指定字符串内容分割为三部分

a = ‘i love you i’
b = a.partition(‘ve’)
c = a.partition(‘i’)
d = a.partition(‘my’)
print(b)
print(c)
print(d)
输出结果:
('i lo', 've', ' you i')
('', 'i', ' love you i')
('i love you i', '', '')
如果找不到指定字符,将会在末尾添加’’, ‘’

去空格

  • s.strip() 左右两边去空格
  • s.lstrip() 去除左边空格
  • s.rstrip() 去除右边空格

字符串大小写

  • s.upper() 全部大写
  • s.lower() 全部小写
  • s.isupper() 判断是不是大写
  • s.islower() 判断是不是小写

    切片

    a = ‘123456789’
    print(a[-1]) # -1 获取最后一个值
    print(a[0:]) # 0: 获取全部数
    print(a[1:4]) # x:y 获取从x到y下标的值 [左闭右开型]
    print(a[0::4]) # x:y:z 获取从x到y下标的值中,步长为z的值
    print(a[::-1])
    输出的结果:
    9
    123456789
    234
    159
    987654321