2020-09-09 10:57:26 +08:00
|
|
|
|
# Python3 字符串格式化
|
|
|
|
|
|
|
|
|
|
字符串的格式化方法分为两种,分别为占位符(%)和format方式。占位符方式在Python2.x中用的比较广泛,随着Python3.x的使用越来越广,format方式使用的更加广泛。
|
|
|
|
|
|
|
|
|
|
## 1.占位符(%)
|
|
|
|
|
|
2020-09-28 16:48:24 +08:00
|
|
|
|
| Format | Description |
|
|
|
|
|
|--------|-------------|
|
2020-09-09 10:57:26 +08:00
|
|
|
|
| %% | 百分号标记 |
|
|
|
|
|
| %c | 字符及其 ASCII 码 |
|
|
|
|
|
| %s | 字符串 |
|
|
|
|
|
| %d | 有符号整数(十进制) |
|
|
|
|
|
| %u | 无符号整数(十进制) |
|
|
|
|
|
| %o | 无符号整数(八进制) |
|
|
|
|
|
| %x | 无符号整数(十六进制) |
|
|
|
|
|
| %X | 无符号整数(十六进制大写字符) |
|
|
|
|
|
| %e | 浮点数字(科学计数法) |
|
|
|
|
|
| %E | 浮点数字(科学计数法,用 E 代替 e) |
|
|
|
|
|
| %f | 浮点数字(用小数点符号) |
|
|
|
|
|
| %g | 浮点数字(根据值的大小采用 %e 或 %f) |
|
|
|
|
|
| %G | 浮点数字(类似于 %g) |
|
|
|
|
|
| %p | 指针(用十六进制值打印的内存地址) |
|
|
|
|
|
| %n | 存储输出字符的数量放进参数列表的下一个变量中 |
|
|
|
|
|
|
|
|
|
|
### 1.1.实例 %d
|
|
|
|
|
|
|
|
|
|
```python
|
|
|
|
|
age = 29
|
|
|
|
|
print("my age is %d" %age)
|
|
|
|
|
# my age is 29
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
### 1.2.实例 %s
|
|
|
|
|
|
|
|
|
|
```python
|
|
|
|
|
name = "makes"
|
|
|
|
|
print("my name is %s" %name)
|
|
|
|
|
# my name is makes
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
### 1.3.实例 %f
|
|
|
|
|
|
|
|
|
|
```python
|
|
|
|
|
print("%6.3f" % 2.3)
|
|
|
|
|
# 2.300
|
|
|
|
|
print("%f" %2.3)
|
|
|
|
|
# 2.300000
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
## 2.format 方法
|
|
|
|
|
|
|
|
|
|
### 2.1.位置映射
|
|
|
|
|
|
|
|
|
|
![位置映射](img/Python3_字符串格式化/001.png)
|
|
|
|
|
|
|
|
|
|
实例:
|
|
|
|
|
|
|
|
|
|
```python
|
|
|
|
|
print("{}:{}".format('192.168.0.100',8888))
|
|
|
|
|
# 192.168.0.100:8888
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
### 2.2.关键字映射
|
|
|
|
|
|
|
|
|
|
![关键字映射](img/Python3_字符串格式化/002.png)
|
|
|
|
|
|
|
|
|
|
实例:
|
|
|
|
|
|
|
|
|
|
```python
|
|
|
|
|
print("{server}{1}:{0}".format(8888,'192.168.1.100',server='Web Server Info :'))
|
|
|
|
|
# Web Server Info :192.168.1.100:8888
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
### 2.3.元素访问
|
|
|
|
|
|
|
|
|
|
![元素访问](img/Python3_字符串格式化/003.png)
|
|
|
|
|
|
|
|
|
|
![元素访问](img/Python3_字符串格式化/004.png)
|
|
|
|
|
|
|
|
|
|
实例:
|
|
|
|
|
|
|
|
|
|
```python
|
|
|
|
|
print("{0[0]}.{0[1]}".format(('baidu','com')))
|
|
|
|
|
# baidu.com
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
### 2.4.填充对齐
|
|
|
|
|
|
|
|
|
|
![填充对齐](img/Python3_字符串格式化/005.png)
|
|
|
|
|
|
|
|
|
|
实例:
|
|
|
|
|
|
|
|
|
|
```python
|
|
|
|
|
print("{0}*{1}={2:0>2}".format(3,2,2*3))
|
|
|
|
|
# 3*2=06
|
|
|
|
|
|
|
|
|
|
print("{:*^30}".format('centered'))
|
|
|
|
|
# ***********centered***********
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
实例:
|
|
|
|
|
|
|
|
|
|
```python
|
|
|
|
|
for i in range(1,10):
|
|
|
|
|
a = 1
|
|
|
|
|
while a <= i:
|
|
|
|
|
print("{0}*{1}={2:0>2}".format(a,i,a*i),end="\t")
|
|
|
|
|
a +=1
|
|
|
|
|
print()
|
|
|
|
|
|
|
|
|
|
"""
|
|
|
|
|
1*1=01
|
|
|
|
|
1*2=02 2*2=04
|
|
|
|
|
1*3=03 2*3=06 3*3=09
|
|
|
|
|
1*4=04 2*4=08 3*4=12 4*4=16
|
|
|
|
|
1*5=05 2*5=10 3*5=15 4*5=20 5*5=25
|
|
|
|
|
1*6=06 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36
|
|
|
|
|
1*7=07 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49
|
|
|
|
|
1*8=08 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64
|
|
|
|
|
1*9=09 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
### 2.5.精度设置
|
|
|
|
|
|
|
|
|
|
![精度设置](img/Python3_字符串格式化/006.png)
|
|
|
|
|
|
|
|
|
|
实例:
|
|
|
|
|
|
|
|
|
|
```python
|
|
|
|
|
print("{:.3f}".format(2.1415))
|
|
|
|
|
# 2.142
|
|
|
|
|
print("{:.10f}".format(3.1415))
|
|
|
|
|
# 3.1415000000
|
|
|
|
|
```
|