字符串声明【定义】
resume = 'Hello World'
print(resume)
# Hello World
resume = '''
name = '高雷'
company = 'XX企业'
age = 18
'''
print(resume)
# name = '高雷'
# company = 'XX企业'
# age = 18
字符串长度
resume = 'Hello World'
print(resume)
# 11
字符串拼接
a = 'Hello'
b = 'Python'
c = a + ' ' + b
print(c)
# Hello Python
字符串重复输出
str1 = '你好'
print(str1*3)
# 你好你好你好
从输入读取字串
myname=input('请输入您的名字:')
print(myname)
字符串 与 数字整形 相互转换
var1 = '666'
var1 = int(var1)
print(type(var1))
# <class 'int'>
var1 = str(var1)
print(var1)
# <class 'str'>
字符串切片
- str[start:end[:len]]
str1 = 'Hello World'
print(str1[:8])
# Hello Wo
print(str1[1:8])
# ello Wo
print(str1[-1:-8:-1])
# dlroW o
replace()
str1 = 'hello world'
print(str1.replace('e','哇哈哈'))
# h哇哈哈llo world'
split() 与 join()
a = 'my name\' is 高雷'
b= a.split()
print(b)
# ['my', "name'", 'is', '高雷']
print('*'.join(b))
# my*name'*is*高雷
驻留机制
字符串驻留机制:仅保存一份相同且不可变字符串的方法,不同的值被存放在字符串驻留池中。python 支持字符串驻留机制,对于符合标识符规则的字符串(仅包含下划线 _ 、字母 和 数字)会启动字符串驻留机制。
a='abc_33'
b='abc_33'
print(a is b)
#True
print(id(a)==id(b))
#True
print(a==b)
#True
c='dd#'
d='dd#'
print(c is d)
#False
print(id(c)==id(d))
#False
print(c==d)
#True
字符串比较 与 同一性
使用 == , != 对字符串进行比较,是否含有相同的字符。
使用 is / not is ,判断两个对象是否同一个对象。比较的是对象的地址,即 id(obj1) 是否和 id(obj2)相等
成员操作符
in / not in 关键字,判断某个字符(子字符串)是否存在与字符串中。
字符查找
a = '大家好,我是你们的朋友,你们可以叫我高雷'
print(a.startswith('大家'))
#True
print(a.endswith('高雷'))
#True
print(a.find('我')) #第一次出现的位置
#4
print(a.rfind('我')) #最后一次出现的位置
#17
print(a.count('我')) #计数出现的次数
#2
print(a.isalnum() ) #所有字符全是字母或数字
#False
格式化
a.capitalize() #产生新的字符串,首位字母大写
a.title() #产生新的字符串,每个单词都首字母大写
a.upper() #产生新的字符串,所有字符全大写
a.lower() #产生新的字符串,所有字符全部小写
a.swapcase() #产生新的字符串,所有字母大小写转换
format
a= "name is :{},age is :{}"
print(a.format('高雷','18'))
#'name is :高雷,age is :18'
b="name is :{0} , age is :{1} ,{0} 是一个非常优秀的小伙子"
print(b.format('高雷',18))
'name is :高雷 , age is :18 ,高雷 是一个非常优秀的小伙子'
c="name is {name} , age is {age}"
print(c.format(name='高雷',age=18))
'name is 高雷 , age is 18'
print(c.format(age=18,name='高雷'))
'name is 高雷 , age is 18'
填充与对齐
^、<、> 分别是 居中、居左、居右 对齐,其后跟宽度
: 后面带填充字符,只能是一个字符,不指定的话默认使用 空格 填充
print("{:*>8}".format('245'))
#'*****245'
print("我是 {0},我喜欢数字 {1:*^8}".format('高雷','666')
#'我是 高雷,我喜欢数字 **666***'
格式排版
a='霸霸'
print(a.center(10,'*'))
#'****霸霸****''
print(a.center(10))
#' 霸霸 '
print(a.ljust(10,'*'))
#'霸霸********'
print(a.rjust(10,"*"))
#'********霸霸'
可变字符串(了解)
import io
str = ' Hello Gao baba '
sio = io.StringIO(str)
print(sio)
# <_io.StringIO object at 0x00000258D57A80D8>
print(sio.getvalue())
# ' Hello Gao baba '
print(sio.seek(5))
# 5
print(sio.write('霸霸'))
# 2
print(sio.getvalue())
# ' Hell霸霸Gao baba '