01-认识字符串
1、字符串:用单引号或者双引号括起来的字符集。例如:'ljjj$345是'。
字符:字符串中的每个独立的单元我们叫字符。
2、转义字符:通过\将一些特殊的字符转换成具有特殊功能的字符。常见的转义字符有:\n(换行)、\t(tab制表符)、\(反斜杠\)、'(单引号)、"(双引号)等。转义字符的长度为1。
3、Unicode编码:python中字符的编码采用的是Unicode编码。Unicode使用两个字节对一个字符进行编码。Unicode编码包含ASCII码。
编码:将字符转换成指定的数值,以便计算机做存储操作。解码:将数值转换成对应的符号。
在这里,涉及到两个函数:1)、将Unicode码转换成字符:chr();2)、将字符转换成Unicode编码:ord();
例子:
# 1)、将Unicode码转换成字符:chr()
print(chr(0xA000))
print(chr(0xa001))
print(chr(0x4e00))
#2)、将字符转换成Unicode编码:ord()
print(hex(ord('哈')),hex(ord('喽')))
结果:
02-获取字符
1、获取单个字符
python中的字符串,可以通过下标来获取指定位置上的字符;
格式:字符串[下标]
注意:字符串可以是字符串值,也可以是字符串变量;下标可以是从0开始到字符串长度减1;也可以是-1到-长度(-1就是对应的最后一个字符,以此类推,-长度对应的就是第一个字符);最后,索引不能越界,否则会报错。
例子:
str1='abcd'
print(str1[0])
#print(str[4])错误
print(str[-4])
print(str[-1])
结果:
2、获取部分字符(子串)--切片
格式:字符串[下标1:下标2]:从下标1开始获取到下标2前的所有的字符。
例子:
str2='hello world'
print(str2[0:4])
print(str2[2:-1])
print('abcdabcd'[0:8])#切片时,下标可以越界,越界时就取临界值。
结果:
格式2:字符串[下标1:下标2:步进]
解释:从下标1开始获取,每次下标值增加步进值,每增加一次获取一个字符,直到取到下标2前为止。
(如果步进是正数,那么下标1对应的字符的位置一定要在下标2对应的位置的前面;如果是负数,那么下标1的位置在下标2的后面;)
例子:
str2='helloworld!'
print(str3[0:5:3])
print(str3[0:5])
print(str3[-1:5:-1])
下标的省略
例子:
#切片时,下标1和下标2是可以省略的。
#下标1省略:默认从开头开始获取(开头可能是字符串的第一个字符,也可能是最后一个字符。)
str4='good good study,day day up'
print(str4[:4])
print(str4[:4:-1])
#下标2省略:从下标1位置开始获取,获取到结束(结束可能是字符串的最后一个字符,也可能是第一个字符)
print(str4[1:])
print(str4[3::-1])
print(str4[::-1])
结果:
03-字符串相关运算
1、+运算:python中支持两个字符串相加,其结果就是将两个字符串进行拼接,最后产生一个新的字符串。
2、
*
运算:
格式:字符串*
整数
就是将整数个字符串拼接在一起产生一个新的字符串。
3、支持所有的比较运算符(==、!=、>、<)
注意:在比较大小时,比较的是两个字符串中每一位字符的编码值,直到不同为止。
4、in和not in:判断字符串之间是否包含。结果为bool值。
5、获取字符串长度
使用len()内置函数来获取。空串('')的长度为0;
6、阻止转义
在字符串的最前面添加r或者R可以阻止转义。
04-字符串中的相关函数方法
python中为字符串提供了很多内建函数。
调用方式:字符串.函数名()
注意:函数的功能不会影响原来的字符串,而是产生一个新的字符串。
print('abCd'.capitalize())#将字符串中的第一个字符转换成大写,如果后面有大写,将其转换成小写;
print('abc'.center(10,'0'))#产生一个长度为10,字符串abc居中,其余以0来填充的字符串;
print('abaa'.count('a'))#返回a在字符串abaa中出现的次数;
print('abc'.endswith('c'))#检查字符串是否已字符c结尾.返回true或者false
print('abc'.find('abd'))#检查是否包含字符串,返回0或-1
print('abc12'.isalnum())#如果字符串至少有一个字符并且所有字符都是字符或数字则返回 True,否则返回 False
print('abc1'.isdigit())#字符串是否只包含数字
print('asfD34'.islower())#字符串中的字母是否都是小写
print('bs23'.isnumeric())#字符串中是否只有数字
print(' \n'.isspace())#字符串中是否只有空白
print('Tdd Fsss'.istitle())#字符串中所有的单词的首字母是否大写,其余为小写
print('DDD34'.isupper())#字符串中的字母都为大写字母
print(len('dda'))#返回字符串长度
print('1'.ljust(3,'0'))#左对齐
print('DDD'.lower())#将大写转换成小写
print(max('bdc'))#返回字符串中最大的字母
print(min('bda'))#返回字符串中最小的字母
print('1'.rjust(3,'0'))#右对齐
print(' fds a '.rstrip())#删除末尾的空白
print(' fds a '.lstrip())#删除开头的空白
print(' fds a '.strip())#删除开头和结尾的空白
print('world'.title())#将字符串标题化就是单词首字母大写
print('worldD'.upper())#将小写字母转换成大写
05-字符串格式化
python支持格式化字符串的输出。
基本用法:将一个值插入到一个有字符串格式符%s的字符串中。
例子
print('我的名字是%s今年%d岁'%('小李',20))
结果:
python中常用的字符串格式化符号有:
%c-----格式化字符及其ASCII码
%s-----格式化字符串
%d-----格式化整数
%u-----格式化无符号整型
%o-----格式化无符号八进制数
%x-----格式化无符号十六进制数
%X-----格式化无符号十六进制数(大写)
%f-----格式化浮点数字
%e-----格式化科学计数法的浮点数