IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> python字符串str补充 -> 正文阅读

[Python知识库]python字符串str补充

1、驻留机制的几种情况(交互模式)
1)字符串长度为0或1
2)符合标识符的字符串
3)字符串只在编译时驻留,而非运行时
4)[-5,246]之间的整数数字
sys.intern()强制2个字符串指向同一个对象
pycharm对字符串进行了优化处理
优点:当需要值相同的字符串时,可以直接从字符串池中拿来使用,避免繁琐的创建与销毁,提升效率节约内存,因此拼接字符串和修改字符串时会比较影响性能的
缺点:在需要字符串拼接时建议使用join方法,而不是+,因为join先计算出所有字符中的长度,然后再拷贝,只new一次对象,效率比+高

2、查询
index()查找子串substr第一次出现的位置,如果子串不存在,则抛出ValueError
rindex()查找子串substr最后一次出现的位置,如果子串不存在,则抛出ValueError
find()查找子串substr第一次出现的位置,如果子串不存在,则返回-1
rfind()查找子串substr最后一次出现的位置,如果子串不存在,则返回-1

s1='python,python'
print(s1.index('py'))
print(s1.rindex('py'))
print(s1.find('mn'))

3、大小写转换
upper()字符串所有字符转成大写字母
lower()字符串所有字符转成小写字母
swapcase()字符串所有大写字母转成小写字母,小写字母转成大写字母
capitalize()把第一个字符转成大写,其余字符转成小写
title()每个单词的第一个字母转成大写,每个单词的剩余字符转成小写

s='hello world'
#转换后产生新的字符串
print(s.upper(),id(s),id(s.upper())) 
print(s.lower(),id(s),id(s.lower()))
print(s.swapcase())
print(s.capitalize())
print(s.title())

4、内容对齐
center()居中对齐,第一个参数指定宽度,第二个参数指定填充符,第二个参数可选
ljust()左对齐,第一个参数指定宽度,第二个参数指定填充符,第二个参数可选
rjust()右对齐,第一个参数指定宽度,第二个参数指定填充符,第二个参数可选
zfill()右对齐,左边用0填充,该方法只接受一个参数,用于指定字符串的宽度

s='hello,python'
print(s.center(20,'*'))
print(s.ljust(20,'*'))
print(s.ljust(20))
print(s.rjust(20))
print(s.rjust(10))
print(s.zfill(20))
print(s.zfill(10))

5、分割与替换
split()与rsplit(),replace()

s='hello world python'
l1=s.split()  #默认是空格分隔符
s2='hello|world|python'
print(s2.split('|')) #指定分隔符
print(s2.split('|',maxsplit=1)) 指定分割数量
print(s2.split('|',maxsplit=1)) #从右侧分割

s='hello world'
print(s.replace('world','python'))
s1='hello world world world'
print(s1.replace('world','python',2))#指定替换个数

s='hello world'
print(s.replace('world','python'))
s1='hello world world world'
print(s1.replace('world','python',2))#指定替换个数

6、比较

==比较的是value,is比较的是id

print('apple'>'app')
print('apple'>'bpp')
print(ord('a'),ord('b'))
print(ord('刘'))
print(chr(97),chr(98))
print(chr(21016))

7、格式化字符串
%为占位符,其中%s字符串,%i或id整数,%f浮点数

name='Alice'
age=12
#%,第一种
print('my name %s,my age %i'%(name,age))
#{}占位符+format,第二种
print('my name {0},my age {1}'.format(name,age))
#f-string,第三种
print(f'my name {name},my age {age}')

print('%10d'%99) #10表示宽度
print('%d'%99)
print('%f'%3.1415926)
print('%.3f'%3.1415926) #3表示精度
print('%10.3f'%3.1415926) #组合表示精度与宽度
print('------------')
print('{0}'.format(3.1415926))
print('{0:3}'.format(3.1415926)) #一共是3位数
print('{0:.3f}'.format(3.1415926))#小数点后3位
print('{:.3f}'.format(3.1415926))#小数点后3位
print('{:10.3f}'.format(3.1415926))#同时设置宽度和精度,宽度是10位,小数点后3位

8、编码转换
A计算机(str在内存中以unicode表示)—编码—byte字节传输—解码–B计算机中

s='白日依山尽'
#编码,GBK中一个中文占2个字符,UTF-8中占3个
print(s.encode(encoding='GBK'))
print(s.encode(encoding='utf-8'))

#解码,byte代表就是一个二进制数据(字节类型的数据)
byte=s.encode(encoding='GBK')
print(byte.decode(encoding='GBK'))
byte=s.encode(encoding='UTF-8')#编码解码类型需一致
print(byte.decode(encoding='UTF_8'))
  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-12-07 11:59:03  更:2021-12-07 12:00:03 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/16 5:45:52-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码