字符串的驻留机制、字符串的判断和字符串常用方法

字符串驻留:

       仅保存一份相同且不可变字符串方法,不同的值被存放在字符串驻留池中,Python支持字符串驻留机制,对于符合标识符规则的字符串(仅包含下划线(_)、字母和数字)会启动字符串驻留机制。例如:

#字符串驻留机制
a="abcd_11"
d="abcd_11"
id(a)
>>>2355133760208
id(b)
>>>2355133760208
a is b
>>>true

#不符合驻留机制规则,返回的内存id不一致
a="abcd#"
b="abcd#"
id(a)
>>>2355133165672   
id(b)
>>>2355133784280
a is b
>>>false

字符串比较和同一性:

      可以直接使用 ==,!=对字符串进行比较,是否含有相同的字符。

      使用is/not is  ,判断两个对象是否同一个对象,比较的是对象的地址,即id(obj1)是否和id(obj2)相等

成员操作符:

      in/not in 关键字,判断某一个字符(子字符串)是否存在于字符串中。

字符串常用方法

常用查找方法:

a="知之者不如好之者,好之者不如乐之者"

方法和使用示例说明结果
len(a)字符串长度17
a.startswith('知之者‘)以指定字符串开头Ture
a.endseith('乐之者')以指定字符串结尾True
a.find('之')第一次出现指定字符串位置1
a.rfind('之‘)最后一次出现的指定字符串位置15
a.count('之‘)指定字符出现几次4
a.isalnum()所有字符全是字母或者数字False

 

 

 

 

 

 

 

 

 

去除首尾信息:

      可以通过strip()去除字符串首尾指定信息,通过lstrip()去除字符串左边信息,rstrip()去除字符串右边信息。

a="!@#asda*&!"
#去首尾  !
a.strip("!")
>>>'@#asda*&'

#去左边信息
a.lstrip('!')
>>>'@#asda*&!'

#去右边信息
a.rstrip('!')
>>>'!@#asda*&'

#去两边空格
b="  as   "
b.strip()
>>>"as"

大小写转换:

a="all things in their being are good for something"

示例说明结果
a.capitalize()产生新的字符串,首字母大写'All things in their being are good for something'
a.title()产生新的字符串,每个单词都首字母大写'All Things In Their Being Are Good For Something'
a.upper()产生新的字符串,所有字符串全转成大写'ALL THINGS IN THEIR BEING ARE GOOD FOR SOMETHING'
a.lower()产生新的字符串,所有字符串全转成小写'all things in their being are good for something'
a.swapcase()产生新的字符串,所有字母大小写转换'ALL THINGS IN THEIR BEING ARE GOOD FOR SOMETHING'

 

 

 

 

 

格式排版:

       center(),ljust(),rjust()  这三个函数用于对字符串实现排版,如下:

a="ALL"
#居中补齐
a.center(10,'*')
>>>'***ALL****'
a.center(10) #没有*号,两边空格
>>>"   ALL   "

#左边补齐
a.ljust(10,"*")
>>>'ALL*******'

#右边补齐
a.rjust(10,"*")
>>>'*******ALL'

其他方法:

1.isalnum()         #是否为字母或数字

2.isalpha()         #检测字符串是否只有有字母组成(含汉字)

3.isdigit()          #检测字符串是否只有有数字组成

4.isspace()      #检测是否为空白符

5.isupper()      #是否为大写字母

6.islower()     #是否为小写字母

 

注*字符串可变方法点击查看

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值