NotePublic/Software/Development/Language/Python/Python3_字符串格式化.md

135 lines
2.8 KiB
Markdown
Raw Normal View History

# Python3 字符串格式化
字符串的格式化方法分为两种,分别为占位符(%)和format方式。占位符方式在Python2.x中用的比较广泛随着Python3.x的使用越来越广format方式使用的更加广泛。
## 1.占位符(%)
| Format | Description |
|--------|-------------|
| %% | 百分号标记 |
| %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
```