💖少年的书桌上,没有虚度的光阴!💖
系列文章目录🍁
第一篇:基础语法与结构
第二篇:Python四大内置数据结构
文章目录
🌴前言
大家好,我是小沐!😃编程路上一个人可能走的更快,但一群人才能走得更远,关注小沐一起学习不迷路!今天分享的是 python中字符串与函数的知识,话不多说,秃头走起——>冲冲冲👊👊👊!!!
🌿一、字符串
1.字符串的驻留机制
字符串:在Python中字符串是一种基本数据类型,是不可变序列。
字符串的驻留机制:对于相同的字符串只保留一份拷贝,后序创建相同字符串时,不会开辟新空间,而是把该字符串的地址赋给新创建的变量。
字符串可用单、双、三引号进行定义。
a='Python'
b="Python"
c='''Python'''
print(a,id(a)) # Python 2147104589936
print(b,id(a)) # Python 2147104589936
print(c,id(c)) # Python 2147104589936
驻留机制的几种情况(交互模式):
字符串的长度为0或1时;
符合标识符的字符串(由字母数字下划线组成,但这里数字可以开头);
字符串只在编译时进行驻留,而非运行时;
[-5,256]之间的整数数字。
import sys
sys中的intern方法强制两个字符串指向同一个对象,即同一块地址。import sys
a=sys.intern(b)
PyCharm和一些编译器对字符串进行了优化处理,具有驻留机制
在进行字符串拼接时,我们要尽量使用str类型的join方法,而非+
因为join()方法是先计算出所有字符中的长度,然后再拷贝,只new一次对象,效率比+高
2.字符串的常用操作
查询操作
# 四种方法 index() rindex() find() rfind()
s='hello,worldlo'
#第一种 index() 查找子串第一次出现的位置,如果查找的子串不存在时,则抛出ValueError
print(s.index('lo')) #3
#第二种 rindex() 查找子串最后一次出现的位置,如果查找的子串不存在时,则抛出ValueError
print(s.rindex('lo')) #11print(s.rindex('ss'))
#第三种 find() 查找子串第一次出现的位置,如果查找的子串不存在时,则返回-1
print(s.find('lo'))
print(s.find('ss')) #-1
#第四种 rfind() 查找子串最后一次出现的位置,如果查找的子串不存在时,则返回-1
print(s.rfind('lo'))
print(s.rfind('ss')) #-1
大小写转换操作
# 五种方法 upper() lower() swapcase() capitalize() title()
s='hello,PyThon'
# 第一种 upper() 把字符串中所有字符都转成大写字母
print(s.upper())
# 第二种 lower() 把字符串中所有字符都转成小写字母
print(s.lower())
# 第三种 swapcase() 把字符串中所有大写字母转成小写字母,所有小写字母转成大写字母
print(s.swapcase())
# 第四种 capitalize() 把第一个字符转换成大写,其余字符转换成小写
print(s.capitalize())
# 第五种 title() 把每个单词的第一个字符转换为大写,把每个单词的剩余字符转换成小写
print(s.title())
注意:字符串是不可变序列,所以在进行上述方法时,都创建了新的对象,即前后两个变量id不一致。
字符串内容对齐操作
# 四种方法 center() ljust() rjust() zfill()
s='hello,python'
# 第一种 center() 居中对齐 第一个参数指定宽度,第二个参数指定填充符,第二个参数可选,默认为空格,如果设置宽度小于实际宽度则返回原字符串
print(s.center(20,'*'))
# 第二种 ljust() 左对齐 第一个参数指定宽度,第二个参数指定填充符,第二个参数可选,默认为空格,如果设置宽度小于实际宽度则返回原字符串
print(s.ljust(20,'*'))
# 第三种 rjust() 右对齐 第一个参数指定宽度,第二个参数指定填充符,第二个参数可选,默认为空格,如果设置宽度小于实际宽度则返回原字符串
print(s.rjust(20,'*'))