字符串
1.什么是字符串?
用单引号或者双引号括起来的字符集就是字符串
'student_name'
字符串中每个独立单元我们叫字符。
例如:
'a','b'
2.转义字符
将一些特殊的字符转换成一个具有特殊功能或者特殊意义的字符
- 常见的转义字符:
字符 | 作用 |
---|---|
\n | 换行 |
\t | tab |
\\ | 表示一个\ |
' | 表示' |
说明:Python中没有字符类型,如果要表示字符,就用一个长度为1的字符串表示。
- Unicode编码:
1.采用两个字节对一个字符进行编码(2^15);
2.能够将世界上所有的字符进行编码;
3.Unicode编码中包含了ascii - Python中字符的编码采用的是Unicode编码
1.将字符转换成指定的数值,这个过程就是编码。(编码的目的是方便计算机的存储)
2.将数值转换成对应的符号的过程,这就是反编码(解码) - 常见的两种编码
代码 | 使用方法 | 示例 |
---|---|---|
chr | 将Unicode码转化为字符 | print(chr(0xA000)) |
ord | 将字符转化成Unicode编码 | print(ord('吕')) |
3.获取字符
字符
字符串实质可以是一个不可变的序列,序列内容是字符。一旦字符串确定,里面的字符和字符位置不可变。
1.如何获取单个字符
a.可以通过下标来获取位置上的字符;
b.字符串可以是字符串也可以是变量;
c.[]:是固定语法;
d.索引:从0开始到字符串长度;-1到长度。
- 例如:
str1='abcd'
print(str1[0])
print(str1[-1])
2.如何获取部分字符
字符串[下标1:下标2]:从小标1开始获取,获取到下标2前的所有字符
- 例如:
str2='hello world'
print(str2[0:4])
print(str2[0:-3])
print(str2[3:12])
3.增加步进
字符串[下标1:下标2:步进]
1.从下标1开始获取,每次下标值增加步进值,每增加一次取一个字符。直到取下标2前为止;
2.步进是负数,那么下标1对应的位置一定要在下标2对应的位置的后面。下标2对应的字符是取不到的。
例如:
tr3='hellopython'
print(str3[0:5:2]) hlo
print(str3[-1:5:-1]) nohty
4.下标的省略
下标省略是默认从开头开始获取(开头可能是字符串的第一个字也有可能是最后一个字)。
例如:
str4='good good study,day day up'
print(str4[:4]) good
print(str4[1:]) ood good study,day day up
print(str4[3::-1]) doog
将str4中所有奇数取出来(从0开始)
print(str4[::-1])
4.字符串的相关计算
运算符 | 代码 | 效果 |
---|---|---|
+ | print('abc'+'123') | 'abc123' |
* | print('abc'*3) | 'abcabcabc' |
== | print('ab'=='ab') | True |
>,< | print('abcd'>'ab') | False |
注意:字母作为字符串比较的是编码值而不是字母本身。
1.如何获取字符串长度?
字符串长度指的是字符串中字符的个数,用len()内置函数来获取。
例如:
tr3='3 4'
print(len(str3)) 2
str4=''
print(len(str4))
print(str3[-1],str3[len(str3)-1]) 4
2.阻止转义
在字符串的最前面添加r/R可以阻止转义
例如:
print('a\nb') a
b
print(r'a\nb') a\nb
5.字符串的相关方法
方法名 | 代码 | 编译结果 |
---|---|---|
capitalize() | str1='hello';print(str1.capitalize();)print(str1) | Hello |
center(width,fillchar) | print(str1.center(8,' ')) | hello |
rjust(width,fillchar) | number='11';new_id=number.rjust(4,'0');print(new_id) | 0011 |
count | print('abcaaa'.count('a')) | 4 |
join | print('+'.join('abc')) | a+b+c |
replace(old,new) | new_str='abcdadsdfaa'.replace('a','+',2);print(new_str) | +bcd+dsdfaa |
网友评论