Update 08. 字符串.md

This commit is contained in:
LSGOMYP
2020-07-21 11:17:04 +08:00
parent b176f59dfc
commit 876558dbef

View File

@@ -1,5 +1,8 @@
# 字符串
# 字符串
## 1. 字符串的定义
- Python 中字符串被定义为引号之间的字符集合。
- Python 支持使用成对的 单引号 或 双引号。
@@ -19,20 +22,6 @@ print(5 + 8) # 13
print('5' + '8') # 58
```
- 如果字符串中需要出现单引号或双引号,可以使用转义符号`\`对字符串中的符号进行转义。
【例子】
```python
print('let\'s go') # let's go
print("let's go") # let's go
print('C:\\now') # C:\now
print("C:\\Program Files\\Intel\\Wifi\\Help") # C:\Program Files\Intel\Wifi\Help
```
- Python 的常用转义字符
@@ -46,9 +35,21 @@ print("C:\\Program Files\\Intel\\Wifi\\Help") # C:\Program Files\Intel\Wifi\Hel
`\r` | 回车
- 原始字符串需要在字符串前边加一个英文字母 r 即可
【例子】如果字符串需要出现单引号或双引号,可以使用转义符号`\`对字符串中的符号进行转义
【例子】
```python
print('let\'s go') # let's go
print("let's go") # let's go
print('C:\\now') # C:\now
print("C:\\Program Files\\Intel\\Wifi\\Help")
# C:\Program Files\Intel\Wifi\Help
```
【例子】原始字符串只需要在字符串前边加一个英文字母 r 即可。
```python
print(r'C:\Program Files\Intel\Wifi\Help')
@@ -56,9 +57,7 @@ print(r'C:\Program Files\Intel\Wifi\Help')
```
- python三引号允许一个字符串跨多行,字符串中可以包含换行符、制表符以及其他特殊字符。
【例子】
【例子】三引号允许一个字符串跨多行,字符串中可以包含换行符、制表符以及其他特殊字符。
```python
para_str = """这是一个多行字符串的实例
@@ -66,22 +65,31 @@ para_str = """这是一个多行字符串的实例
TAB ( \t )。
也可以使用换行符 [ \n ]。
"""
print (para_str)
print(para_str)
# 这是一个多行字符串的实例
# 多行字符串可以使用制表符
# TAB ( )。
# 也可以使用换行符 [
# ]。
'''
这是一个多行字符串的实例
para_str = '''这是一个多行字符串的实例
多行字符串可以使用制表符
TAB ( )。
也可以使用换行符 [
]。
TAB ( \t )。
也可以使用换行符 [ \n ]。
'''
print(para_str)
# 这是一个多行字符串的实例
# 多行字符串可以使用制表符
# TAB ( )。
# 也可以使用换行符 [
# ]。
```
## 2. 字符串的切片与拼接
- 类似于元组具有不可修改性
- 从 0 开始 (和 C 一样)
- 从 0 开始 (和 Java 一样)
- 切片通常写成 `start:end` 这种形式,包括「`start` 索引」对应的元素,不包括「`end`索引」对应的元素。
- 索引值可正可负,正索引从 0 开始,从左往右;负索引从 -1 开始,从右往左。使用负数索引时,会从最后一个元素开始计数。最后一个元素的位置编号是 -1。
@@ -137,7 +145,7 @@ str2 = "DAXIExiaoxie"
print(str2.count('xi')) # 2
```
- `endswith(suffix, beg=0, end=len(string))` 检查字符串是否以指定子字符串 `suffix` 结束,如果是,返回 True,否则返回 False。如果 `beg``end` 指定值,则在指定范围内检查。
- `endswith(suffix, beg=0, end=len(string))` 检查字符串是否以指定子字符串 `suffix` 结束,如果是,返回 True否则返回 False。如果 `beg``end` 指定值,则在指定范围内检查。
- `startswith(substr, beg=0,end=len(string))` 检查字符串是否以指定子字符串 `substr` 开头,如果是,返回 True否则返回 False。如果 `beg``end` 指定值,则在指定范围内检查。
【例子】
@@ -233,7 +241,6 @@ u = "www.baidu.com.cn"
print(u.split()) # ['www.baidu.com.cn']
# 以"."为分隔符
print((u.split('.'))) # ['www', 'baidu', 'com', 'cn']
# 分割0次
@@ -307,7 +314,7 @@ print(str.translate(trantab)) # th3s 3s str3ng 2x1mpl2....w4w!!!
## 4. 字符串格式化
- Python `format` 格式化函数
- `format` 格式化函数
【例子】
```python
@@ -368,8 +375,8 @@ print("I said: %r." % text) # I said: 'I am 22 years old.'
符号 | 功能
:---:|:---
m.n | m 是显示的最小总宽度,n 是小数点后的位数(如果可用的话)
- | 用左对齐
m.n | m 是显示的最小总宽度,n 是小数点后的位数如果可用的话
- | 用左对齐
+ | 在正数前面显示加号( + )
# | 在八进制数前面显示零('0'),在十六进制前面显示'0x'或者'0X'(取决于用的是'x'还是'X')
0 | 显示的数字前面填充'0'而不是默认的空格
@@ -386,6 +393,8 @@ print('%#x' % 108) # 0x6c
print('%010d' % 5) # 0000000005
```
---
**参考文献**
- https://www.runoob.com/python3/python3-tutorial.html