字符串就是一串字符,是编程语言中表示文本的数据类型
在python中,可以使用一对双引号或者一对单引号,来定义一个字符串
虽然可以使用"或者’ 用于字符串的转义,但实际开发中:
如果字符串内部需要使用“,可以使用‘来定义字符串
如果字符串内部需要使用‘,可以使用“来定义字符串
使用索引来获取指定位置的字符,索引从0开始
也可以使用for 循环遍历字符串中的每一个字符
方法 | 说明 |
---|---|
string.isspace() | 如果string中只包含空格,则返回True |
string.isalnum() | 如果string至少有一个字符并且所有自负都是字母或者数字则返回True |
string.isalpha() | 如果string至少有一个字符并且所有自负都是字母则返回True |
string.isdecimal() | 如果string只包含数字则返回True,全角数字 |
string.isdigit() | 如果string只包含数字则返回True,全角数字、(1)、\u00b2 |
string.isnumeric() | 如果string只包含数字则返回True,全角数字,汉字数字 |
string.istitle | 如果string是每个单词的首字母大写,则返回True |
string.islower() | 如果string至少包含一个区大小写的字符,并且所有这些字符都是小写,则返回True |
string.isupper() | 如果string中包含至少一个区分大小写的字符,并且这些字符都是大写,则返回True |
方法 | 说明 |
---|---|
string.startswith(str) | 检查字符串是否以str开头,是则返回True |
string.endswith(str) | 检查字符串是否以str结束,是则返回True |
string.find(str,start=0,end=len(string) | 检查str是否包含在string中,如果start和end指定范围,则检查是否包含在指定范围内,如果是返回开始的索引,否则返回-1 |
string.index(str,start=0,end=len(string) | 跟find方法类似,不过如果str不再string则报错 |
string.rindex(str,start=0,end=len(string) | 类似于index(),只不过从右边开始 |
string.replace(old_str,new_str,num=string.count(old) | 把string中的old_str替换成new_str,如果num指定,则替换不超过num次 |
hello_str="hello python"
print(hello_str.startswith("hel"))
print(hello_str.endswith("hon"))
print(hello_str.find("llo"))
print(hello_str.replace("llo","yyy"))
运行结果:注意:原来的字符串没有改变
True
True
2
heyyy python
方法 | 说明 |
---|---|
string.capitalize() | 把字符串的第一个字符大些 |
string.title() | 把字符串的每个单词的首字母大写 |
string.lower() | 转换string所有大写字符为小写 |
string.upper() | 转换string的小写字母为大写 |
string.swapcase() | 翻转string中的大小写 |
方法 | 说明 |
---|---|
string.ljust(width) | 返回一个原字符串左对齐,并使用空格填充至长度width的新字符串 |
string.rjust(width) | 返回一个原字符串右对齐,并使用空格填充至长度width的新字符串 |
string.center(width) | 返回一个原字符串居中,并使用空格填充至长度width的新字符串 |
方法 | 说明 |
---|---|
string.lstrip() | 截掉string左边的空白字符 |
string.rstrip() | 截掉string右边的空白字符 |
string.strip() | 截掉string左右两边的空白字符 |
poem=["\t\n登黄鹤楼",
"王之涣",
"白日依山尽\t\n",
"黄河入海流",
"欲穷千里目",
"更上一层楼"]
for poem_str in poem:
print("|%s|"%poem_str.strip().center(10," "))
运行结果:
| 登黄鹤楼 |
| 王之涣 |
| 白日依山尽 |
| 黄河入海流 |
| 欲穷千里目 |
| 更上一层楼 |
方法 | 说明 |
---|---|
string.partition(str) | 把字符串string分成一个3元素的元组(str前面,str,str后面) |
string.rpartition(str) | 类似于partition,不过是从右边开始 |
string.split(str="",num) | 1以str为分隔符拆分string,如果num有指定值,则仅分割num+1个子字符串,str默认包含\r\t\n和空格 |
string.splitlines() | 按照行分割,返回一个包含各行作为元素的列表 |
string.join(seq) | 以string作为分隔符,将seq中的所有元素合并为一个新的字符串 |
切片方法适用于字符串,列表,元组
切片使用索引值来限定范围,从一个大的字符串切出小的字符串
列表和元组都是有序的集合,都能够通过索引值获取对应的数据
字典是一个无序的集合,是使用键值对保存数据
字符串[开始索引:结束索引:步长]
左开右闭
>>> num_str='0123456789'
>>> num_str[2:6]
'2345'
>>> num_str[2:]
'23456789'
>>> num_str[:6]
'012345'
>>> num_str[:]
'0123456789'
>>> num_str[::2]
'02468'
>>> num_str[1::2]
'13579'
>>> num_str[-1]
'9'
>>> num_str[2:-1]
'2345678'
>>> num_str[-2:]
'89'
>>> num_str[0::-1]
'0'
>>> num_str[-1::-1] #翻转字符串
'9876543210'
>>>