第四章 掌握Python的字符串类型

理解字符串
在Python中使用英文引号扩起来的内容都是字符串

字符串是一种线性序列结构,有序,连续(类似内存),如下图:

 

每一个格子表示一个内存块,存储字符的数字编码。每一块内存都有对应的索引,从左到右依次为0,1,2.....

 

字符的数字编码
计算机只能处理二进制,所以每个字符都有对应的数字编码(十进制数字码),比如英文字母a对应编码97,计算机通过解析编码来输出对应的表示
使用Python中的内置函数ord()可以获取字符的十进制数字码。语法:ord('字符')   例:print(ord('a'))  # 97
使用Python中的内置函数char()可以将十进制数字码解析为字符。语法:char(编码)  例:print(char(97))   # a

 

常用的字符编码
ASCII:最早的字符编码,美国佬发明的,一个字节能表示的范围0~255,最多可以包含256个字符,所以只支持英文
UNICODE:为每种语言的每个字符都设置了唯一的二进制编码,世界通用,表现形式为:U+数字编码
UTF-8:针对UNICODE的可变长度编码
GBK:汉字编码字符集,完全兼容ASCII,又继承了UTF-8的可变长度效果,达到节省空间的效果
Python默认使用UNICODE进行编码

 

转义字符详解
例:print('a\tb\tc')  # a b c
禁止转义:在字符串前加上r  例:print(r'a\tb\tc')  a\tb\tc

 

对字符串进行遍历
字符串是一种线性结构,可使用for循环来进行遍历


例:

for _ in str:
            print(_)

 

2.1 彻底掌握字符串的操作符
字符串常用操作符
+:字符串拼接。 
例:str = str1 + str2
* :将字符串重复输出。   
例:str = 'a' * 3 # str = 'aaa'
[] :  索引访问。正负整数索引,分别控制正数倒数。 
例:print(str[0])  # a 
       print(str[-1]) # -1表示取倒数第一个数
[:]:对字符串进行切片(截取)操作。 
例|:print(str[0:2]) # 截取[0,2)范围的str  
        print(str[:2])  # 截取[0,2)范围的str  
        print(str[1:]) # 截取[1,结束]范围的str  
        print(str[:])  # 截取所有范围的str  
in:查找字串是否在字符串里面,返回True、False。
例:a,b = 'abc','ab'  c = b in a  # c = True
%:格式化字符串。 
例:%d 占位int、  %s  占位String、   %f  占位float,可设置保留几位小数,如%0.1f表示保留一位小数

 

3.1 字符串的常用操作方法
字符串常用方法
1.len(str):获取字符串长度 
例:num = len('aaa')  # num = 3
2.str.lower():将字符串里面的英文字母全部转换成小写 
例:num = 'Hello World' .lower()  # num = 'hello world'
3.str.upper():将字符串里面的英文字母全部转换成大写 
例:num = 'Hello World' .upper()  # num = 'HELLO WORLD'
4.str.islower():判断是否全是小写字母(空格忽略计算),是True,不是False 
例:num = 'H a'  # num = False
5.str.isupper():判断是否全大写字母(空格忽略计算),是True,不是False 
例:num = 'H a'  # num = False
6.str.strip():删除首尾的空格   
例:num = '   aa   '.strip()  # num = 'aa'
7.str.lstrip():删除首部的空格,l代表的是left 
例:num = '   aa  '.lstrip()  # num = 'aa  '   
8.str.rstrip():删除尾部的空格,r代表的是right 
例:num = '   aa  '.lstrip()  # num = '  aa'   
9.str.find(sub_str):从左到右搜索子串第一次出现的位置,返回索引值,查不到则为-1 
例:num = 'hello world'.find('hello')  # 0
10.str.rfind(sub_str):从右到左搜索子串第一次出现的位置,返回索引值,查不到则为-1  例:num = 'aabbcc'.find('b')  # 3
11.str.count(sub_str):统计子串的数量 
例:num = 'hehehemama'.count('he')  # num = 3
12.str.replace(sub_str,dst_str):字串的替换 
例:num = 'aabbcc'.replace('aa','bb')  # num = 'bbbbcc'
13.str.splite(str,maxsplite = -1):根据某个字符分割字符串,maxsplite代表分割次数,可以不设置这个值,默认-1(不限次数)
例: num = '@@a@@b@@c'.splite('@@')    # num = ['a','b','c']  
14.str.startswith(prefix):判断字符串是否以某个值为前缀,返回True、False 
例:num = 'hello world'.starswith('hello') # True
15.str.endswith(suffix):判断字符串是否以某个值为后缀,返回True、False 
例:num = 'hello world'.endswith('world') # True

 

4.1 彻底掌握字符串的格式化
理解格式化
对字符串进行格式化,不会清除字符串中的字符,而是按照特定的格式符对字符串进行输出
常用的格式化符号:
语法:str%(param1,param2,...)  括号不是必须的
例:
1.ans = '我学习Python已经有%d天了'%(5)  # ans = '我学习Python已经有5天了'
2.money,name = 20.21,'Kowloon'  ans = '%s的账户还剩%0.2f元'%(name,money)   # ans = 'Kowloon的账户还剩20.21元'
指定浮点型的精度:%0.nf  表示保留小数点n位
特殊格式化符号:%s,无论参数是什么类型,都可格式化成字符类型  例:str = '%s'%(True)  # str = 'True'

 

使用format方法进行格式化
通过指定占位符来确定调用format方法中的第几个参数,比如{0}对应format中的第一个参数
语法:
'{index}'.format(param1)

 

 

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值