python中print format的用法-python format用法详解

format 基本语法是通过 {} 和 : 来代替以前的 % 。

format 函数可以接受不限个参数,位置可以不按顺序。

format基本用法

"Hello {0} {1}".format("Chen","xin") # 引用第一个参数

# 输出 "Hello Chen xin"

"{} is cute".format("Chen xin") # 引用第一个参数

# 输出 "Chen xin is good"

"My name is {name}".format(name="Chen xin") # 引用名字为name的参数

# 输出 "My name is Chen xin"

1. 类型转换

!s

!r

"Chen xin is a cute {!s}".format("baby") # !s 相当于对于参数调用str()

# 输出 "Peppa pig is a cute baby"

"Chen xin is a cute {!r}".format("baby") # !r 相当于对于参数调用repr()

# 输出 "Peppa pig is a cute "baby""

2. 通过位置来填充字符串

print("{0}, {1}, {2}".format("a", "b", "c"))  # a, b, c

print("{}, {}, {}".format("a", "c"))     # a, c

print("{2}, {0}".format("a", "c"))  # c, a

print("{2}, {0}".format(*"abc"))         # c, a

print("{0} {1} {0}".format("aa", "bb"))         # aa bb aa

同一个参数可以填充多次,这个是format比%先进的地方

3. 按名称访问参数

print("name: {last_name}{first_name}".format(last_name="chen", first_name="xin"))

# name: chenxin

name= {"last_name": "chen", "first_name": "xin"}

print("name: {last_name}, {first_name}".format(**name))

# name: chenxin

4. 通过参数属性访问

class MyList:

def __init__(self, x, y):

self.x, self.y = x, y

def __str__(self):

return "MyList({self.x}, {self.y})".format(self = self)

print(str(MyList("陈新明", "www.chenxm.cc")))

# 网站名:陈新明, 地址 www.chenxm.cc

5. 通过参数的items访问

my_list = ["陈新明", "www.chenxm.cc"]

print("网站名:{0[0]}, 地址 {0[1]}".format(my_list))  # "0" 是必须的

# 网站名:陈新明, 地址 www.chenxm.cc

6. 对齐字符串

"{:>5}".format(1) # 设置宽度为5,右对齐

"{:>5}".format(10)

"{:>5}".format(100)

"{:>5}".format(1000)

# 输出下面的结果

"    1"

"   10"

"  100"

" 1000"

print("{:_<30}".format("left aligned"))

#"left aligned__________________"

print("{:_>30}".format("right aligned"))

#"__________________right aligned"

print("{:_^30}".format("centered"))

#"__________________centered__________________"

^   居中     后面带宽度,

<   左对齐 后面带宽度,

>   右对齐 后面带宽度,

:   号后面带填充的字符,只能是一个字符,不指定则默认是用空格填充。

7. 截断字符串

"{:.5}".format("Hello Chen") # 截取前5个字符

# 输出 "Hello"

8. 数字格式化

print("{:.2f}".format(3.1415926));

# 3.14

+ 表示在正数前显示 +,

-  负数

(空格) 表示在正数前加空格

b  二进制

d  十进制

o  八进制

x  十六进制

更多样式

9. 使用逗号作为千位分隔符

print("{:,}".format(1234567890))

#"1,234,567,890"

10. 表示一个百分比

print("number: {:.2%}".format(0.61898))

# number: 61.90%

11. 时间格式化

import datetime

d = datetime.datetime(2018, 7, 31, 15, 58, 58)

print("{:%Y-%m-%d %H:%M:%S}".format(d))

# 2018-07-31 15:58:58

12. 访问元组中的元素

a = (1,2)

"X: {0[0]};  Y: {0[1]}".format(a)

# 输出 "X: 1;  Y: 2"

# 注意:用%格式化字符串不支持此功能

13. 访问字典中的元素

people = {"name": "Chen", "age": 18}

"My name is {p[name]} and my age is {p[age]}".format(p=people )

# 输出 "My name is Chen and my age is 18"

# 注意:用%格式化字符串不支持此功能

你可能感兴趣的:(python中print format的用法-python format用法详解)