135 lines
2.8 KiB
Markdown
135 lines
2.8 KiB
Markdown
# 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
|
||
```
|