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

135 lines
2.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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
```