字符串数据
字符串是一系列字符,用引号括起来的都是字符串,引号可以是单引号或者双引号,
“python” ‘python’ 这两个python都是字符串
字符串属于有序不可变序列: 意思就是内容有顺序可通过下标访问,但是数据内容是定义之后就不可通过函数方式进行修改。
创建字符串很简单,只要为变量分配一个值即可。例如:
字符串的创建:
x = "我是一个字符串"
print(x)
分割字符串
字符串是有序序列不可变因此可以通过索引值取出某个字符,
字符串对象可以通过使用索引值来获取字符,在Python中字符串索引值从0开始,从最后一个值往前数的话是从-1开始
x ='Python'
print(len(x)) #求x的字符个数
print(x[-1]) #-1表示最后一个字符
print(x[0]) #左闭右开规则,索引从零开始
字符串切片
使用切片方法获取某段字符串
栗子:
变量 = 字符串([起始索引值 : 结束索引值 : 间隔步数])
i = '123456'
print(i[3:6]) #从索引值3开始计数 结果:456
如果从头开始取值那么起始索引值可以不写,如果取值到结尾,那么结束索引可以不写,但是不要忘记分割用的冒号
i = '123456'
print(i[::-1]) #倒序输出 结果:654321
print(i[::2]) #从1开始每一次取值走两步 结果:135
print(i[0:-3]) #思考一下这个切片取值是什么呢?
print(i[-2,:2:2) #这个呢?
使用split()函数分割字符串
split()函数可以指定分隔符将大字符串分割为小字符串,返回的小字符串的列表类型
格式:字符串.split(分隔符号,分割次数)
不写参数就是默认分割符,默认分隔符是空格。
栗子:
s = 'Hello Python,ni hao'
print(s.split()) #默认的分割符是空格,换行符(\n),制表符(\t)
#结果为 ['Hello', 'Python', 'ni', 'hao'] 列表里的每一个元素都是单独的字符串
print(s.split(',',1))
结果:['Hello Python', 'ni hao'] #以逗号分割字符串
使用方法修改字符串的大小写
jv = 'appLe'
print(jv.capitalize()) #capitalize()为首字母大写,只支持单个字符串
pritn(jv.title()) # 所有单词首字母大写
print(jv.upper()) # upper()为全部大写
print(jv.lower()) # lower()为全部小写
print(jv.count('p')) #搜索特定字p出现的次数,——count()
使用制表符或换行符来添加空白
制表符\t 加上4个空格 也就是说添加一个TAB键的空格
print("\tpython") #缩进4个空格
换行符\n 换下一行
print("\n\tpython") #同一句话既可以添加制表符也可以添加换行符
删除空白
qw=' python '
print(qw.rstrip()) #rstrip() 删除字符串末尾的指定字符(默认为空格)
print(qw.lstrip()) #lstrip() 方法用于截掉字符串前边的空格或指定字符。默认为空格
print(qw.strip()) #去除值两边指定字符,默认为空白或者换行符
栗子:
str = "*****this is **string** example....wow!!!*****"
print (str.strip( '*' )) # 指定字符串 *
结果:this is **string** example....wow!!!
但是这种删除是暂时性的,要想永久删除需要将删除的结果重新赋值一个新变量。例如:
er = "1python1"
re = er.strip('1')
print(re)
合并字符串
两个变量的字符串将其合并起来,就是合并字符串。利用+这个符号进行合并。
m = "hello"
x = "Qxl"
d = ','
print(m.title() +d +x.upper()) #用刚刚学过的修改大小写函数输出
n= 'Hello World!'
print("添加字符串 : ", n[:6] + 'python!')