一个有序的字符的集合,用来存储和表现基于文本的信息,要求使用单引号或双引号括起来(即两边的引号能够配对)。
在 Python3 中有三种字符串的类型:
1.str,用于 Unicode 文本(ASCII或其它);
2.bytes,用于二进制数据,包含编码的文本;
3.bytearray,bytes的一种可变的变体。
字符串是一个有序的字符的集合,即有索引。
始字符串
所有的字符串都是直接按照字面的意思来使用,没有转义特殊或不能打印的字符。 原始字符串在字符串的第一个引号前加上字母 r(不区分大小写),与普通字符串有着几乎完全相同的语法。Unicode 字符串与 r 连用必需在 r 前面。
>>> str0 = 'Hello Python\t!'
>>> print(str0)
Hello Python !
>>> str1 = r'Hello Python\t!' # 直接打印输出,\t 无效。
>>> print(str1)
Hello Python\t!
转义字符,即( )反斜杠
转义字符 | 描述 |
---|---|
(在行尾时) | 续行符 |
\ | 反斜杠符号 |
' | 单引号 |
" | 双引号 |
\b | 退格,Backspace |
\000 | 空 |
\n | 换行 |
\v | 纵向制表符 |
\t | 横向制表符 |
\r | 回车,Enter |
\f | 换页 |
\oyy | 八进制数,yy代表的是字符 |
\xyy | 十六进制数,yy代表的是字符 |
字符串格式化
用 % 对字符串进行格式化输出。
格式化符号 | 描述 |
---|---|
%c | 格式化字符及其ASCII码 |
%s | 格式化字符串 |
%d | 格式化整数 |
%f | 格式化浮点数字,可指定小数点后的精度。 |
... | ... |
>>> print('我叫%s,今年%d岁。'%('小明', 18))
我叫小明,今年18岁。
访问字符串中的字符
通过字符串的索引访问其中的字符,遵循顾首不顾尾的原则。
- 正序索引访问,格式:[开始索引:结束索引:步长]
>>> str0 = 'Hello Python!'
>>> str0[0] # 第一个字符
'H'
>>> str0[-1] # 最后一个字符
'!'
>>> str0[1:5] # 切片
'ello'
>>> str0[:] # 不加索引默认取全部字符
'Hello Python!'
>>> str0[::3] # 步长
'HlPh!'
- 倒序索引访问,格式:[开始索引:结束索引:步长]
>>> str0 = 'Hello Python!'
>>> str0[::-1] # 必须加 -1 ,字符串反转的一种方法。
'!nohtyP olleH'
字符串的内置方法
大小写相关的方法:
注意,只能操作英文字母,对数字及特殊字符无效。
capitalize() 方法
在字符串中,如果第一个字符是字母则把第一个字母转成大写,其它字母转小写,如果第一个字符不是字母则把所有字母转成小写。
>>> str0 = ’hello PYTHON!‘
>>> str0.capitalize()
'Hello python!'
>>> str1 = ' hello PYTHON!'
>>> str1.capitalize()
' hello python!'
title() 方法
把字符串中的每个单词的首字母小写转为大写。
>>> str0 = 'hello python!'
>>> str0.title()
'Hello Python!'
istitle() 方法
检测字符串中的每个单词的首字母是否为大写,且其它字母为小写,返回 bool 值。
>>> str0 = 'Hello Python!'
>>> str0.istitle()
True
>>> str1 = 'Hello python!'
>>> str1.istitle()
False
lower() 方法
把字符串中的所有大写字母字符转小写。
>>> str0 = 'Hello PYTHON!'
>>> str0.lower()
'hello python!'
islower() 方法
检测字符串是否由小写字母组成,返回 bool 值。
>>> str0 = 'hello python!'
>>> str0.islower()
True
>>> str1 = 'Hello Python!'
>>> str1.islower()
False
upper() 方法
把字符串中的所有小写字母字符转大写。
>>> str0 = 'Hello Python!'
>>> str0.upper()
'HELLO PYTHON!'
isupper() 方法
检测字符串是否由大写字母组成,返回 bool 值。
>>> str0 = 'HELLO PYTHON!'
>>> str0.isupper()
True
>>> str1 = 'Hello Python!'
>>> str1.isupper()
False
删除空白的方法:
strip() 方法
删除字符串左边和右边的指定字符,默认是空格,不能删除中间部分的字符。
>>> str0 = ' Hello Python!'
>>> str0.strip() # 默认删除空格
'Hello Python!'
>>> str1 = '*Hello Python!*'
>>> str1.strip('*') # 删除指定字符
'Hello Python!'
lstrip() 方法
删除字符串左边的指定字符,默认是空格,不能删除中间部分的字符。
rstrip() 方法
删除字符串右边的指定字符,默认是空格,不能删除中间部分的字符。