亲宝软件园·资讯

展开

Python 格式化输出字符串的方法(输出字符串+数字的几种方法)

笃℃ 人气:0

Python 格式化输出字符串(输出字符串+数字的几种方法)

1. 介绍

字符串格式化输出是python非常重要的基础语法。

2. 方法

2.1 使用占位符%输出

python2.6版本之前,使用%格式化字符串沿用的是C语言的输出格式。

使用说明:

name='xiaoming'
age=12
print("My name is %s, My age is %d" %(name,age))

'''print
My name is xiaoming, My age is 12
'''

2.2 format格式化

format是python2.6新增的一个格式化字符串的方法,相比%格式化方法有如下优点:

使用说明:

2.2.1 一般用法

name = 'xiaoyang'
age = 20
print('My name is {}, My age is {}'.format(name,age))
print('My name is {0}, My age is {1}'.format(name,age))
print('My name is {1}, My age is {0}'.format(name,age))
print('My name is {name}, My age is {age}'.format(name=name, age=age))

'''print
My name is xiaoyang, My age is 20
My name is xiaoyang, My age is 20
My name is 20, My age is xiaoyang
My name is xiaoyang, My age is 20
'''

2.2.2 进阶用法

#保留2位有效数字
print("{:.2f}".format(3.1415926))

#转成二进制
print('{0:b}'.format(16))

#转成八进制
print('{0:o}'.format(10))

#转成十六进制
print('{0:x}'.format(15)) 

'''print
3.14
10000
12
f
'''

2.2.2.1 填充对齐

# 先取到值,然后在冒号后设定填充格式:{索引:[填充字符][对齐方式][宽度]}

# *<20:左对齐,总共20个字符,不够的用*号填充
print('{0:*<20}'.format('hellopython'))

# *>20:右对齐,总共20个字符,不够的用*号填充
print('{0:*>20}'.format('hellopython'))

# *^20:居中显示,总共20个字符,不够的用*号填充
print('{0:*^20}'.format('hellopython'))

'''print
hellopython*********
*********hellopython
****hellopython*****
'''

2.2.2.2 位数与进制转换(注意不要忽略冒号)

#保留2位有效数字
print("{:.2f}".format(3.1415926))

#转成二进制
print('{0:b}'.format(16))

#转成八进制
print('{0:o}'.format(10))

#转成十六进制
print('{0:x}'.format(15)) 

'''print
3.14
10000
12
f
'''

2.3 f-string格式化

在Python 3.6中引入了 f-strings,不仅比str.format使用简单,而且效率也更高。

使用说明:

name='xiaoyang'

age=20

#{}中直接使用变量

print(f'My name is {name}, My age is {age}')

#{}中运行表达式

print(f'{1+2+3}')

#调用Python内置函数

print(f'{name.upper()}')

#用lambda匿名函数:可以做复杂的数值计算

fun = lambda x : x+1

print(f'{fun(age)}')

'''print
My name is xiaoyang, My age is 20
6
XIAOYANG
'''

3. 参考资料

【1】https://blog.csdn.net/python1639er/article/details/112325519
【2】https://zhuanlan.zhihu.com/p/329972202

加载全部内容

相关教程
猜你喜欢
用户评论