python格式化输出(一):%s和format()用法比较(一)

简介: python格式化输出(一):%s和format()用法比较(一)

1、python格式化输出历史起源

python2.5之前,我们使用的是老式格式化输出:%s。从python3.0开始起(python2.6同期发布),同时支持两个版本的格式化,多出来的一个新版本就是利用format()函数,进行格式化输出。

2、为什么要学习python3支持的新式格式化输出呢?

虽然老式的语法,兼容性很好,但是它的功能很少,很难完成复杂的任务,而format()函数进行格式化输出,功能更加强大,从下面的学习中你会慢慢体会到。

3、基本用法

a = "%s张飞%s关羽%s刘备%s赵云" % (1,2,3,4)
display(a)
b  = "{}张飞{}关羽{}刘备{}赵云".format(1,2,3,4)
display(b)


结果如下:

image.png


1)format()支持位置格式化填充,%s不支持;

第一种方式:大括号{ }中写的是format()传入值所对应的下标。

第二种方式:大括号{ }中的变量,和format()传入值是一一对应的。

# --------------------方式一-----------------------
c = "{3}张飞{1}关羽{2}刘备{0}赵云".format(1,2,3,4)
display(c)
# --------------------方式二-----------------------
def my_hobbies(fruit,ball,drink):
    hobbies = "我喜欢水果{fruit},我也喜欢球类{ball},我还喜欢饮料{drink}".format(ball=ball,fruit=fruit,drink=drink)
    return hobbies
fruit = "apple"
ball = "basketball"
drink = "milk"
my_hobbies(fruit,ball,drink)
# --------------------方式二-----------------------
fruit = "apple"
ball = "basketball"
drink = "milk"
hobbies = "我喜欢水果{fruit},我也喜欢球类{ball},我还喜欢饮料{drink}".format(ball=ball,fruit=fruit,drink=drink)
display(hobbies)


结果如下:

image.png

4、填充和对齐

1)填充(只能用一个字符进行填充)

① 什么是填充?


概念:当指定了字符串最终的长度,但是现有的字符串没有那么长,那么我们就用某种字符(填充字符)来填满至这个长度,这就是“填充”。

② %s:实现填充功能;


a = "%s" % ("张飞")
display(a)
b = "%10s" % ("张飞")
display(b)


结果如下:

image.png

③ format():实现填充功能;


c = "{}".format("张飞")
display(c)
d = "{:10}".format("张飞")
display(d)


结果如下:

image.png

总结如下:通过上述案例结果呈现,当使用的是%s,进行字符串填充的时候,默认是在原字符串左侧进行填充;当使用的是format(),进行字符串填充的时候,默认是在原字符串右侧进行填充。这就是我们下面要讲述的"对齐"。


2)对齐

① 什么是对齐?


概念:"对齐"要与"填充"一起使用,才会显得有意义。当我们进行填充的时候,我们可以选择只在字符串左侧填充,也可以选择只在字符串右侧填充,还可以选择在字符串两侧填充(字符串居中显示的填充方式)。

② %s:实现对齐功能,只有左对齐和右对齐;


# 左填充
a = '%10s' % ('张飞')
display(a)
# 右填充
b = '%-10s' % ('张飞')
display(b)


结果如下:

image.png

③ format():实现对齐功能,不仅有左对齐和右对齐,还有居中对齐;


# 左填充
a = '{:>10}'.format('张飞')
display(a)
# 右填充
b = '{:<10}'.format('张飞')
display(b)
# 居中填充
c = '{:^10}'.format('张飞')
display(c)


结果如下:

image.png

④ 使用"特定符号"进行填充;


旧版语法中(%s),使用"特定符号"填充,很麻烦,不直接,你也不用去管。这里主要看新版语法中(format()函数),进行"特定符号"填充。

image.png

相关文章
|
1月前
|
Python
python基本用法
【9月更文挑战第5天】python基本用法
39 7
|
3天前
|
Python
Python 格式化输出的高级技巧与应用
Python 格式化输出技术可让数据展示更加清晰易读。本文介绍了四种高级技巧:使用 `%` 占位符进行简单格式化;利用 `format()` 方法提供更灵活的参数位置控制;通过 `{:.2f}` 格式化浮点数保留两位小数;使用 `&lt;`, `&gt;`, `^` 对齐方式及字符填充;最后,展示了如何用特定格式代码格式化日期和时间。这些技巧能够显著提升代码的可读性和美观性。
14 6
|
1天前
|
存储 大数据 Python
案例学Python:filter()函数的用法,高级!
`filter()`函数是Python中处理序列数据的强大工具,它允许我们高效地根据条件过滤元素。通过结合匿名函数、常规函数或直接利用Python的内置逻辑,`filter()`提供了灵活且高效的过滤机制,尤其在大数据处理和内存敏感的应用中展现出其价值。掌握 `filter()`的使用,不仅能提升代码的可读性和效率,还能更好地适应Python的函数式编程风格。
11 2
|
13天前
|
Python
Python中正则表达式(re模块)用法详解
Python中正则表达式(re模块)用法详解
15 2
|
26天前
|
人工智能 数据挖掘 开发者
Python用法
Python用法
24 10
|
2天前
|
JSON API 开发者
深入解析Python网络编程与Web开发:urllib、requests和http模块的功能、用法及在构建现代网络应用中的关键作用
深入解析Python网络编程与Web开发:urllib、requests和http模块的功能、用法及在构建现代网络应用中的关键作用
6 0
|
2天前
|
Python
python时间格式化/时间格式转换
python时间格式化/时间格式转换
6 0
|
12天前
|
Python
Python变量用法——单下划线变量名_ 原创
Python变量用法——单下划线变量名_ 原创
29 0
|
12天前
|
Python
Python变量用法——变量解包
Python变量用法——变量解包
24 0
|
24天前
|
数据处理 开发者 Python
探索Python中的列表推导式在Python编程中,列表推导式是一种简洁而高效的方法,用于从现有的列表创建新列表。本文将深入探讨列表推导式的用法、优势以及一些实际应用示例。
列表推导式是Python提供的一种强大工具,它允许开发者以更简洁的语法快速生成列表。通过结合循环和条件语句,列表推导式能够简化代码结构,提高开发效率。本文详细介绍了列表推导式的基本用法,并通过实例展示了其在数据处理、转换和过滤中的广泛应用。
19 0