python之路《五》字符串的操作
python的里的字符串的操作是可以说是最常见也是最实用的
我们通常使用双引号来表示字符串“ ”创建字符串很简单,定义一个变量就可以了
1 name = 'my name \t is book' 2 # 当然在此\t \n还是和其他语言相同的结果, 3 # 为了表示出来我在name变量的定义中也写上了
1.访问字符串的值
其实的python的底层也是用c写的。那么我们用c语言的形式来看一看字符串的形式
1 int main() 2 { 3 char name[]="book" 4 //这是c语言的字符串的定义那么这也是最简单的定义 5 char name1[]={'b'.'o','o','k','\0'} 6 //这才是字符串的真正的存在形式 7 8 return 0; 9 }
通过上面的代码我们就可以看到,我们的字符串在存储空间中也是易数组的形式存的
在我们的python中也不列外,既然如此那在我们的python中字符串就有了一个性质----“切片”
假如我们现在将字符串当作列表一样访问会出现什么呢
1 name = 'my name \t is book' 2 # 这是一个最简单的调用方式 3 print(name[0]) 4 5 # 答案很简单 自然是m
由此我们就知道了 原来啊 字符串就是就是一个列表存储这字符串中的每个元素
解释了这么就相信“切片”这个性质大家应该也有所理解了
那么字符串肯定也会有之前列表一样的增删改查。并且还引申出来了许多其他的功能
我们一 一来看
name = 'my name \t is book' print(name.count('a')) # 统计有几个字母a print(name.capitalize()) # 首字母大写 print(name.center(50, '=')) # 打印五十个字符不够’=‘补上 print(name.encode()) # 转二进制 print(name.endswith('ok')) # 判断以什么结尾 print(name.expandtabs(tabsize=30)) # 将一个tab键转换成多少个空格 print(name.find('book')) print(name[9:]) # 切片 这里的意思呢就是从第10个字符一直到最后一个 # 注意在字符串的切片里面中括号里面一般都是左闭右开 print(name.isalnum()) # name包括英文字母与阿拉伯数字 print(name.isalpha()) # 纯英文字符 print(name.isidentifier()) # 判断是否是一个合法的变量名 print('+'.join(['1', '2', '3'])) # join 的用法 print(name.ljust(50, '?')) # 左对齐长度为50 不够用?补上 print(name.lower()) # 将大写转小写 print(name.upper()) # 将 小写转大写 print(name.lstrip()) # 从左边去掉空格和回车 print(name.strip()) # 去掉两头的空格和回车 p = str.maketrans('abcdefg', '1234567') # 将对应的字符串转成后面的字符 print('book'.translate(p)) # 随机密码可以这样来 print('book zczc zcf'.split('o')) # 按每个o分成列表(o被当成分隔符不会加入列表) 默认为空格 print('book zczc zcf'.splitlines()) # 按换行来分成列表 print('Book Liu'.swapcase()) # 大写变小写 小写变大写 print('Book Liu'.title()) # 首字母大写 print('Book Liu'.zfill(50)) # 为50个字节不够补0
其实到这里字符串的操作就已经差不多了 字符串的操作 大家只需要了解一下知道有这么东西可以这么用就够了倒是用到了查一下就是了 那么我们平常在网上爬取到源代码之后 基本上都要我们使用字符串的操作将需要的信息提取出来。
在让我来看一下格式化打印
python字符串格式化符号:
符 号 | 描述 |
---|---|
%c | 格式化字符及其ASCII码 |
%s | 格式化字符串 |
%d | 格式化整数 |
%u | 格式化无符号整型 |
%o | 格式化无符号八进制数 |
%x | 格式化无符号十六进制数 |
%X | 格式化无符号十六进制数(大写) |
%f | 格式化浮点数字,可指定小数点后的精度 |
%e | 用科学计数法格式化浮点数 |
%E | 作用同%e,用科学计数法格式化浮点数 |
%g | %f和%e的简写 |
%G | %f 和 %E 的简写 |
%p | 用十六进制数格式化变量的地址 |
格式化操作符辅助指令:
符号 | 功能 |
---|---|
* | 定义宽度或者小数点精度 |
- | 用做左对齐 |
+ | 在正数前面显示加号( + ) |
<sp> | 在正数前面显示空格 |
# | 在八进制数前面显示零('0'),在十六进制前面显示'0x'或者'0X'(取决于用的是'x'还是'X') |
0 | 显示的数字前面填充'0'而不是默认的空格 |
% | '%%'输出一个单一的'%' |
(var) | 映射变量(字典参数) |
m.n. | m 是显示的最小总宽度,n 是小数点后的位数(如果可用的话) |