python学习之字符串

1、字符串的驻留机制和查找

#字符串驻留机制
'''
对相同的字符串只保留一份拷贝,后续创建相同字符串,不会开辟新的空间
'''
a='python'
b="python"
c='''python'''

print(a,id(a))
print(b,id(b))
print(c,id(c))

'''
驻留机制的几种情况
1、字符串长度为0或者12、符合标识符的字符串
3、字符串只在编译时驻留,而非运行时
4、【-5256】之间的整数数字
拼接字符串和修改字符串比较影响性能,所以拼接时使用join方法
'''

s='hello,hello'
print(s.index('lo'))
print(s.find('lo'))
print(s.rindex('lo'))
print(s.rfind('lo'))

'''index找不到就报错,find找不到返回-1'''

a=s.upper()
print(a,id(a))
b=s.lower()
print(b,id(b))  #转换之后,产生一个新的字符串对象
print(s,id(s))

2、python的分割函数

s='hello world liyu'
lst=s.split()   #默认用空格分隔
print(lst)

s1='hello|world|python'
print(s1.split(sep='|'))

print(s1.split(sep='|',maxsplit=1))  #指定最大分割一个


s='hello,python'
print(s.replace('python','java'))

s2='hello,python,python,python'
print(s2.replace('python','java',2))

lst=['hello','java','python']
print('|'.join(lst))  #字符串的连接
print(''.join(lst))

print('*'.join('python'))
'''is和=='''
'''is比较的是id是否相等,==比较的是value是否相等'''

a=b='liyu'
c='liyu'
print(a==c)
print(a is c)

'''字符串的切片操作:左闭右开'''
s33='spontaneous'
print(s33[3:6:1])
print(s33[::2])   #从开始到最后,步长为1
print(s33[::-1])  #默认从最后开始,最开始结束,倒置

3、字符的格式化操作:

'''格式化字符串'''

name='张三'
age=23

print('我叫%s,今年%d岁' % (name,age))

print('我叫{0},今年{1}岁'.format(name,age))

print(f'我叫{name},今年{age}岁')


'''精度设置'''
print('%10d' % 99)
print('%.3f' % 3.1415926)

print('%10.3f' % 3.1415926)

print('{0:.3f}'.format(3.14159))
print('{0:10.3f}'.format(3.14159))
print('{:.3f}'.format(3.14159))

'''字符串的编码和解码'''
s='送你一朵小红花'

byte=s.encode(encoding='GBK')
print(byte.decode(encoding='GBK'))

byte=s.encode(encoding='UTF-8')
print(byte.decode(encoding='UTF-8'))

在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Python中,可以使用切片(slice)来截取字符串。切片是指从一个字符串中获取指定范围的子字符串。切片的语法是通过使用方括号[]来指定起始位置和结束位置的索引。 下面是一些常见的字符串截取操作: 1. 截取单个字符: 可以通过指定字符的索引来截取单个字符。索引从0开始,负数索引表示从字符串末尾开始计数。 示例代码: ```python string = "Hello, World!" char = string # 获取第一个字符 print(char) # 输出:H ``` 2. 截取子字符串: 可以通过指定起始位置和结束位置的索引来截取子字符串。截取的范围是左闭右开区间,即包含起始位置的字符,但不包含结束位置的字符。 示例代码: ```python string = "Hello, World!" substring = string[7:12] # 获取从索引7到索引11的子字符串 print(substring) # 输出:World ``` 3. 省略起始位置或结束位置: 如果省略起始位置,则默认从字符串的开头开始截取;如果省略结束位置,则默认截取到字符串的末尾。 示例代码: ```python string = "Hello, World!" substring1 = string[:5] # 获取从开头到索引4的子字符串 substring2 = string[7:] # 获取从索引7到末尾的子字符串 print(substring1) # 输出:Hello print(substring2) # 输出:World! ``` 4. 使用负数索引: 可以使用负数索引来从字符串末尾开始计数。例如,-1表示最后一个字符,-2表示倒数第二个字符,依此类推。 示例代码: ```python string = "Hello, World!" substring = string[-6:-1] # 获取从倒数第6个字符到倒数第2个字符的子字符串 print(substring) # 输出:World ``` 希望以上内容对你有所帮助!如果还有其他问题,请继续提问。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值