字符串
字符串就是一系列字符,在python中,用括号引起来的都是字符串,其中的引号可以是单引号,也可是双引号,看官请看下列代码:
'This is a string'
'This is also string'
使用方法修改字符串的大小写
对于字符串,可执行最简单的操作,修改其中单词的大小写,请看下列代码:
name = 'junhao'
print(name.title())#title():将字符串的首字母以大写形式输出
-------------------
Junhao #输出结果
title():是将字符串的首字母大写形式输出。
在上面代码中,是将字符串 ‘junhao’ 存储到变量name中,在name.title()中,name后面的(.)让python对变量name执行title()指定的操作。每个方法后面都跟着括号,这是因为方法通常需要额外的信息来完成工作。这种信息在括号里提供,函数title()不需要额外的信息,因此它括号里是空的。
那么现在我想将字符串全部以大写的形式输出,我们可以利用upper()方法来实现:
name = 'junhao'
print(name.upper())#upper():将字符串全部转换成大写输出
------------------
JUNHAO #输出结果
现在我又想将字符串全部转换成小写,我们现在该怎么做呢? 请看下面lower()方法:
name = 'junhao'
print(name.lower())
--------------
junhao #输出结果
合并(拼接)字符串
在很多情况下我们需要拼接字符串。例如:我们将姓和名字存放在不同的变量中,需要显示姓名时我们再将其拼接起来。
name1 = 'zang'
name2 = 'junhao'
print(name1+" "+name2)
---------------------
zang junhao #输出结果
python中使用“+”号来拼接字符串。
使用制表符或者换行符来添加空白
在编程中,空白泛指任何非打印字符,如空格、制表符和换行符。
制表符:\t 请看下面示例:
name = '\tjunhao'
print(name)
---------------------
junhao #请注意前面的缩进
换行符:\t 请看下面示例:
msg = '清华说:\n我想吃肉!\n还想吃水果\n'
print(msg)
------------------------
清华说:
我想吃肉!
还想吃水果 #输出结果
删除空白及特殊符号
strip(),lstrip(),rstrip() 这三个方法是删除字符串中多余的空白,上面说到 方法后面都跟着括号,这是因为方法通常需要额外的信息来完成工作,删除空白方法括号里面就可添加额外的信息。
rstrip():删除字符串右边多余的空白
msg = '我想去看海** '
print(msg)
print(msg.rstrip()) #使用rstrip()方法后删除了右边的空格,请看下面输出结果
----------------------
'我想去看海 ' #实际上,在海的后面是有一个空格,为了方便看,我用引号引起来
'我想去看海' #输出结果
lstrip():删除字符串左边多余的空白
msg = ' 我想去看海'
print(msg)
print(msg.lstrip()) # lstrip()删除左边多余空白
--------------------
' 我想去看海'
'我想去看海'
strip():删除左、右边多余的空白
msg = ' 我想去看海 '
print(msg)
print(msg.strip()) # strip()删除左右两边的空白
-----------------------
' 我想去看海 '
'我想去看海' #请看两边的空白是不是已经被去除,神奇吧
如果字符串的两边不是空白,是特殊字符,那我们在方法的括号里面添加要删除的符号即可
删除字符串两边特殊符号
msg = '*我想去看海**'
print(msg)
print(msg.strip('*')) #括号里敲上要删除的特殊字符,同理:如果想单独删除右边的即:rstrip("*"),删除左边的lstrip('*')
---------------------
*我想去看海* #第一次输出结果
我想去看海 #输出结果
字符串的截取与步长操作
字符串中所说的截取,也就是我们常说的‘ 切片 ’操作。下面我从某博主上面load 下来的一张图,觉得很直观,在这里引用一下:
上图所标的序列,我们常称为下标,对字符串,起始位置从左向右(0–>)依次排序,从右向左排序,则反之开始我们以下标的方式取值,请看下列代码:
lesson = 'python'
print(lesson[:]) #变量后 中括号什么都不加,表示 字符串全部截取
print(lesson[0:2])# 其实位置 0 , 终止 2 ##截取这个中括号属于顾前不顾后,也就是说包含起始位置,不包终止位置
------------------
python
py #输出结果
上面print(lesson[:]) ,把字符串赋值给变量lesson存储,变量lesson后面加’ [ 起始位置:终止位置] ',这里面是要填入你要截取的字符串起始位置和终止位置,中间用 ‘:’分隔。如上图所示。
------下面请看根据步长来取字符串。
步长是什么呢?通俗点说 就是字符串间隔取值,操作也是很简单,请看示例:
lesson = 'python'
print(lesson[0:6:1]) #步长就是 变量lesson[0:6:1] 表示步长为1 。通常在截取字符串的时,如果不设定步长,默认就是1,例:lesson[0:6]
print(lesson[0:6:2]) # 表示步长: 2
---------------------
python
pto #输出结果
过上面演示也许应该知道步长的用法了,python中可以直接通过切片来实现逆序:
lesson = 'python'
print(lesson[::-1]) # 步长设定为1,实现字符串的逆排序。
----------------------
python
nohtyp #输出结果
快速取字符串的长度
lesson = 'python'
print(len(lesson)) #len()方法 括号中参数是字符串存储的变量
-------------------
6 #输出结果
内置方法
1.将字符串中的每一个元素按照指定分隔符进行拼接
# test = “你是风儿我是沙”
# print(test)
# # t = ’ ’
# v = “_”.join(test)
# print(v)
- 以xxx开头,以xx结尾
#startswith,endswith
name=‘alex_SB’
print(name.endswith(‘SB’))
print(name.startswith(‘alex’))
# 输出结果为 True or false
4.#split
name=‘root❌0:0::/root:/bin/bash’
print(name.split(’:’)) #默认分隔符为空格
name=‘C:/a/b/c/d.txt’ #只想拿到顶级目录
print(name.split(’/’,1))
name=‘a|b|c’
print(name.rsplit(’|’,1)) #从右开始切分
5.将指定字符串替换为指定字符串
# test = “alexalexalex”
# v = test.replace(“ex”,‘bbb’)
# print(v)
# v = test.replace(“ex”,‘bbb’,2)
# print(v)