A认识字符串
01什么是字符串
a.用单引号或者双引号括起来的字符集就是字符串,例:'jiang2323%%42!@字符串',
b.字符串中每个独立的单元,我们叫字符,例如:'abc123'中'a','b'...就是字符
name='xaidc'
poem='鹅鹅鹅,曲项向天歌,白毛浮绿水,红掌拨清波'
02转义字符
说明:Python中没有字符类型,如果要表示字符,就是用一个长度是1的字符串表示
长度:指的是字符串中字符的个数,例如:'abc'——长度是3
a.通过\将一些特殊的字符转换成一个具有特殊功能或者特殊意义的字符,就是转义字符
b.常见的转义字符:\n 换行,\t 制表符(相当于tab键),\
c.在计算字符串长度的时候,转义字符的长度是1
poem='鹅鹅鹅,\n曲项向天歌,\n白毛浮绿水,\n红掌拨清波.'
print (poem)
输出结果
鹅鹅鹅,
曲项向天歌,
白毛浮绿水,
红掌拨清波.
str1='abc\\bcd'
print(str1)
str2='abc\'bcd'
print(str2)
输出结果
abc\bcd
abc'bcd
03Unicode编码
a.Python中字符的编码采用的是Unicode编码
b.将字符转换成指定的数值,这个过程就是编码。(编码的目的方便计算机存储)
c.Unicode编码中包含了ASCII码
将数值转换成对应的符号的过程就是反编码(解码)
# 1).将Unicode码转换为字符:chr(编码)
print(chr(0xA000))
print(chr(0xAC00))
#2).将字符转换成Unicode编码:ord(编码)
print(hex(ord('江')),hex(ord('秀')),hex(ord('成')))
输出结果
ꀀ
가
0x6c5f 0x79c0 0x6210
B获取字符
01怎么获取单个字符
python 中的字符串,可以通过下标(索引)来获取指定位置上的字符:字符串[索引]
说明:
a.字符串:可以是字符串值,也可以是字符串变量
b.[]:中括号使固定语法
c.索引:1.从0开始到字符串长度减1;2.-1~-长度(-1对应的是最后一个字符,-2对应的是倒数第二个字符)。
注意:索引不能越界,否则会报错(产生异常)
str1='abcd'
print(str1[0])
print(str1[-1])
输出结果
a
d
02获取部分字符(获取子串)--切片操作
字符串[下标1:下标2]:从下标1开始获取,获取到下标2前的所有的字符
注意:下标1对应的位置,一定要在下标2对应的位置前
str2='hello world!'
print(str2[2:7])
print(str2[-7:-2])
print(str2[7:-2])
输出结果
llo w
worl
orl
切片是下标可以越界,越界的时候就取临界值
字符串[下标1:下标2:步进]
从下标1获取,每次下标值增加步进值,每增加一次取一个字符,直到取到下标2前为止
注意:A.步进如果是正数,那么下标1对应的字符的位置一定要下标2对应的位置的前面;步进是负数,那么下标1对应的位置一定要在下标2对应的位置的后面
B.下标2对应字符是取不到的
str3 ='helloPython'
print(str3[0:5:2])
print(str3[-1:5:-1])
输出结果
hlo
nohty
下标的省略
切片的时候,下标1和下标2是可以省略的
下标1省略:默认从开头开始获取(开头可能是字符串的第一个字符,也可能是字符串的最后一个
下标2省略:从下标1的位置开始获取到结束(结束可能是字符串的最后一个字符,也可能是)
str4 = 'good good study,day day up'
print(str4[:4])
print(str4[:4:-1])
print(str4[1:])
print(str4[3::-1])
print(str4[::-1])
输出结果
good
pu yad yad,yduts doog
ood good study,day day up
doog
pu yad yad,yduts doog doog
C字符串的相关运算
01 + 运算符
字符串1+字符串2
Python支持两个字符串相加,其效果就是将两个字符串拼接在一起产生一个新的字符串
注意:如果+的一个是字符串,那么另外一个也必须是字符串
print('abc'+'123')
输出结果
abc123
02 * 运算符
字符串*整数:字符串重复多次
print('abc'*3)
输出结果
abcabcabc
03所有的比较运算符
str1='abc'
print('abc'==str1)
输出结果
True
比较大小
str1 > str2;str1 < str2
让str1中的每一位的字符,分别和str2中的每一位的字符依次比较。直到不同为止,再看不同字符中谁的编码值大或者小
print('abcd'>'ac')
输出结果
False
04 in 和 not in
**str1 in str2 **:判断str1是否在str2中
结果是 布尔值
print('abc' in 'abcd')
print('f' not in 'python')
输出结果
True
True
05获取字符串长度
1.字符串的长度,指的是字符串中字符的个数
2.len()内置函数
str3='study'
print(len(str3))
输出结果
5
补充:空串
str4=''
print(len(str4))
输出结果
0
06阻止转义
在字符串的最前面添加r/R可以阻止转义
print('a\nb')
print(r'a\nb')
输出结果
a
b
a\nb
D字符串相关的方法
Python 为字符串提供了很多的內建函数
字符串.函数
注意:这些所有的函数的功能都不会影响原来的字符串,而是产生一个新的字符串
01.capitalize()将字符串的第一个字符转换为大写
str1= 'abc'
newstr=str1.capitalize()
print(newstr)
输出结果
Abc
02.center(width,fillchar)
让字符串变成width对应的长度,原内容居中,剩余的部分使用fillchar的值来填充
width-整数;fillchar-任意字符
print('abc'.center(10,'x'))
输出结果
xxxabcxxxx
03.rjust(width,fillchar)
让字符串变成width对应的长度,原内容靠右,剩余的部分使用fillcharf的值来填充
04.count(str)
判断str值在原字符串中出现的次数
print('abcccc'.count('c'))
输出结果
4
05.str1.join(str2)
在str2中的每个字符串之间插入一个str1
print('1'.join('ccc'))
输出结果
c1c1c
06.str.replace(old,new)
将str1中的old全部替换成new
new_str='sahbushjbsaahdsjudhs'.replace('h','=')
print(new_str)
输出结果
sa=bus=jbsaa=dsjud=s