字符串基本特点
1:字符串的本质是:字符序列。
2:Python不支持单字符类型,单字符也是作为一个字符串使用的。
引号创建字符串
我们可以通过单引号或双引号创建字符串
a='love'
print(a) # 结果是:love
连续三个单引号或三个双引号,可以帮助我们创建多行字符串。在长字符串中会保留原始的格式。
a='''
I
LOVE
YOU
'''
print(a)
空字符串和len()函数
Python允许空字符串的存在,不包含任何字符且长度为0。
a=''
print(len(a)) # 结果是:0
len()用于计算字符串含有多少字符
a='abc123喜欢'
print(len(a)) # 结果是:8
转义字符
我们可以使用 \+特殊字符 ,实现某些难以用字符表示的效果。比如:换行等。常见的转义字符有这些
转义字符 | 描述 |
(在行尾时) | 续行符 |
\ | 反斜杠符号 |
' | 单引号 |
'' | 双引号 |
\b | 退格(Backspace) |
\n | 换行 |
\t | 横向制表符 |
\r | 回车 |
字符串拼接
可以使用 + 将多个字符串拼接起来。例如: ’aa’+ ’bb’ 结果是 ’aabb’
1:如果 + 两边都是字符串,则拼接。
2:如果 + 两边都是数字,则加法运算
3:如果 + 两边类型不同,则抛出异常
可以将多个字面字符串直接放到一起实现拼接。例如: ’aa’’bb’ 结果是 ’aabb’
a = 'qwe'+'zxc' # 结果是:'qwezxc'
b = 'qwe''zxc' # 结果是:'qwezxc'
字符串复制
使用*可以实现字符串复制
a = 'love'*3 # 结果是:'lovelovelove'
不换行打印
我们前面调用print时,会自动打印一个换行符有时,我们不想换行,不想自动添加换行符。我们可以自己通过参数end = “任意字符串”
从控制台读取字符串
以使用input()从控制台读取键盘输入的内容。
mingzi= input("请输入名字:")
print("您的名字是:",mingzi)
replace() 实现字符串替换
字符串不可改变。但是,我们确实有时候需要替换某些字符。这时,只能通过创建新的字符串来实现。
a='qwertyuiiopdslfjghklehrg'
a=a.replace('e','环')
print(a) # 结果是:qw环rtyuiiopdslfjghklehrg
str()实现数字转型字符串
str()可以帮助我们将其他数据类型转换为字符串
当我们调用print()函数时,解释器自动调用了str()将非字符串的对象转成了字符串。
a=str(1314) #结果是:'1314'
a=str(lovvr) #结果是:'lovvr'
a=str(12.12) #结果是:'12.12'
使用[]提取字符
字符串的本质就是字符序列,我们可以通过在字符串后面添加[],在[]里面指定偏移量,可以提取该位置的单个字符。
正向搜索:
最左侧第一个字符,偏移量是0,第二个偏移量是1反向搜索:
最右侧第一个字符,偏移量是-1,倒数第二个偏移量是-2
a='qwertyuiiopdslfjghklehrg'
print(a[0]) #结果是:q
print(a[1]) #结果是:w
print(a[-1]) #结果是:g
字符串切片slice操作
切片slice操作可以让我们快速的提取子字符串。标准格式为:
[起始偏移量start:终止偏移量end:步长step]
操作和说明 | ||
[:] 提取整个字符串 | ||
[start:] 从start索引开始到结尾 | ||
[:end] 从头开始知道end-1 | ||
[start:end] 从start到end-1 | ||
[start:end:step] 从start提取到end-1,步长是step |
split()分割和join()合并
split()可以基于指定分隔符将字符串分隔成多个子字符串(存储到列表中)。如果不指定分隔符,则默认使用空白字符(换行符/空格/制表符)
a='qw,qe,qr,qrt,qrtt,12,q1'
a=a.split(',') #以 逗号 分割
print(a) # 结果是:['qw','qe','qr','qrt','qrtt','12','q1']
join()的作用和split()作用刚好相反,用于将一系列子字符串连接起来。示例代码如下:
a=['qw','qe','qr','qrt','qrtt','12','q1']
a='#'.join(a)
print(a) # 结果是:'qw#qe#qr#qrt#qrtt#12#q1'
字符串常用方法汇总
a='啊这两款手机东方红路爱神的箭防控就是雕龙画凤卡拉胶收到货发给啊抗裂砂浆大华股份阿克苏就撒禄口街道官方号阿圣诞节很反感看看时间等哈刚发'
方法和使用示例 | 说明 | 结果 |
len(a) | 字符串长度 | 90 |
a.startswith('啊这两款手机') | 以指定字符串开头 | True |
a.endswith('刚发') | 以指定字符串结尾 | True |
a.find('爱') | 第一次出现指定字符串的位置 | 11 |
去除首尾信息
我们可以通过strip()去除字符串首尾指定信息。通过lstrip()去除字符串左边指定信息,rstrip()去除字符串右边指定信息
a='!asdfasd!'
print(a.strip('!')) #结果是:'asdfasd'
print(a.lstrip('!')) #结果是:'asdfasd!'
print(a.rstrip('!')) #结果是:'!asdfasd'
大小写转换
编程中关于字符串大小写转换的情况
a='wo shi shei wo jiao shen mo'
示例 | 说明 | |
a.capitalize() | 产生新的字符串,首字母大写 | |
a.title() | 产生新的字符串,每个单词都首字母大写 | |
a.upper() | 产生新的字符串,所有字符全转成大写 | |
a.lower() | 产生新的字符串,所有字符全转成小写 | |
a.swapcase() | 产生新的,所有字母大小写转换 |
字符串的格式化
a='小红'
age='13'
print(f'我叫{a},今年{age}岁') #结果是:我叫小红,今年13岁
#前面一定要加----- f -------