python学习日记06(字符串)
字符串的表达方式
字符串介绍
一段普通的文本内容。python中使用' '
或" "
以及''' '''和 """ """
包裹进行表示。
name = 'zhangsan'
address = "shanghai"
doing_what = '''zhangsan zai shanghai xuexi'''
dream = """shi jie he ping"""
注意:在Python中,**字符串是不可变的!**所有的字符串相关方法,都不会改变原有的字符串,都是返回一个结果,在这个新的返回值里,保留了执行后的结果!
转义字符
转义字符是很多程序语言、数据格式和通信协议的形式文法的一部分,使用\
来表示一个转义字符。常见的转义字符以及它所代表的含义如下表:
转义字符 | 含义 |
---|---|
\r | 将当前位置移到本行开头 |
\n | 将当前位置移到下一行开头 |
\t | 用来表示一个制表符 |
\\ | 代表一个反斜线字符\ |
’ | 用来显示一个单引号 |
" | 用来显示一个双引号 |
字符串的下标和切片
### 字符串下标
字符串的下标有成为索引,如name = "abcdef"
的下标(索引)如下图所示:
注意:计算机中,下标的起始值为 0。
字符串遍历
所谓遍历,就是将字符串中的每一个字符按一定规律逐一访问。但是,不是所有数据都能够被遍历,字符串必须是可迭代对象才可以进行遍历。
msg = "HelloWorld!"
i = 0
for s in msg:
print(s)
print('-'*30) # 分割线
while i < len(msg):
print(msg[i])
i += 1
输出结果:
H
e
l
l
o
W
o
r
l
d
!
------------------------------
H
e
l
l
o
W
o
r
l
d
!
字符串切片
字符串、列表、元组都支持切片
切片的语法:[起始:结束:步长]
,也可以简化使用 [起始:结束]
注意:选取的区间从"起始"位开始,到"结束"位的前一位结束(不包含结束位本身),步长表示选取间隔。
s = 'Hello World!'
print(s)
print(s[4]) # o 字符串里的第4个元素
print(s[3:7]) # lo W 包含下标 3,不含下标 7
print(s[:]) # Hello World! 取出所有元素(没有起始位和结束位之分),默认步长为1
print(s[::-1]) # !dlroW olleH 取出所有元素的倒叙排列
字符串的常用操作
字符串常见操作:
-
len()方法,获取字符串长度
mymsg = 'ILovePython' print(len(mymsg)) 输出结果: 11
-
查找函数
-
find()方法
查找指定内容在字符串中是否存在,若存在就返回从字符串开始位置开始到结束中,第一次出现的索引,不存在则返回**-1**
S.find(sub[, start[, end]]) -> int
find()可传递三个函数,分别是
需要查找的字符串,起始索引,结束索引
mymsg = 'ILovePython' print(mymsg.find("ve")) 输出结果: 3
-
index
用法于
find()
方法相同,但index()
在字符串未找到的情况下会报异常。S.index(sub[, start[, end]]) -> int
-
-
判断
-
startswith()
判断字符串是否以函数提供的字符串为开头,成立返回
True
,不成立返回False
mymsg = '队长,别开枪,是我' print(mymsg.startswith("队长")) 输出结果: True
-
endswith()
判断字符串是否以函数提供的字符串为结尾,成立返回
True
,不成立返回False
mymsg = '下蛋公鸡,公鸡中的战斗机' print(mymsg.endswith("战斗机")) 输出结果: True
判断字符串的组成类型
- isalphe() 判断字符串是否由纯字母组成,返回布尔类型
- isdigit() 判断字符串是否由纯数字组成 ,返回布尔类型
- isalnum() 判断字符串由数字和字母组成,返回布尔类型
- isspace() 判断字符串是否为全空格,返回布尔类型
-
-
count() 计数
判断函数参数提供的字符串在字符串中出现的次数,返回次数值。
msg= '大母鸡、小母鸡、母鸡、母鸡、老母鸡' print(msg.count('鸡')) 输出结果: 5
-
replace() 替换
用于将参数字符串替换目标字符串中指定字符串
s.replace("需要替换的字符串","替换字符串",替换次数(默认全体替换))
msg = 'I Love Java' print(msg.replace('Java', 'python')) 输出结果: I Love python
-
split() 切割
根据指定字符串对原字符串进行切割操作,切割之后的返回值为
list
列表类型。如果指定字符串不存在于原字符串,则将原字符串整体存入列表msg = 'I Love python' print(msg.split('java')) 输出结果: ['I Love python']
-
title() 将字符串英文单词首字母大写
-
upper() 将字符串全部英文字符大写
-
lower() 将字符串全部英文字符小写
msg = 'why are You so BEAUTIFUL' print(msg.title()) print(msg.upper()) print(msg.lower()) 输出结果: Why Are You So Beautiful WHY ARE YOU SO BEAUTIFUL why are you so beautiful
-
strip() 去除字符串两端空格
msg = ' why are You so BEAUTIFUL ' print(msg.strip()) 输出结果: why are You so BEAUTIFUL WHE ARE YOU SO BEAUTIFUL why are you so beautiful