运维开发网

python中的打印格式方法

运维开发网 https://www.qedev.com 2022-10-13 15:46 出处:网络
这篇文章主要介绍了python中的格式化输出方法,?数据可以以人类可读的形式打印,或写入文件以供将来使用,甚至可以以某种其他指定的形式。?用户通常希望对输出格式进行更多控制,而不是简单地打印以空格分隔

这篇文章主要介绍了python中的格式化输出方法,?数据可以以人类可读的形式打印,或写入文件以供将来使用,甚至可以以某种其他指定的形式。?用户通常希望对输出格式进行更多控制,而不是简单地打印以空格分隔

前言:

有几种方法可以显示程序的输出。数据可以以人类可读的形式打印出来,也可以写入文件以备将来使用,甚至可以是其他特定的形式。用户通常希望对输出格式有更多的控制,而不是简单地打印由空分隔的值。打印格式有几种方法。

要使用格式化字符串文字,请在左引号或三引号之前以 f 或 F 开始字符串。字符串的format() 方法可帮助用户创建更精美的输出。用户可以通过使用字符串切片和连接操作来完成所有字符串处理,以创建用户想要的任何布局。 string 类型有一些方法可以执行有用的操作,将字符串填充到给定的列宽。


1 使用字符串模运算符(%)格式化输出

%运算符也可用于字符串格式化。它左参数被解释为非常类似于C语言字符串中的printf()样式格式,以便应用于右参数。Python中没有printf()函数,但是Python中包含了老版printf的函数。因此,string类重载模运算符%来执行字符串格式化。因此,它通常被称为字符串模(有时甚至被称为模数)操作符。

模运算符(%)在Python(3.x)中仍然可用并被广泛使用。但是今天,旧的格式已经从语言中删除了。

# print integer and float valueprint("Geeks : %2d, Portal : %5.2f" % (1, 05.333))# print integer valueprint("Total students : %3d, Boys : %2d" % (240, 120))# print octal valueprint("%7.3o" % (25))# print exponential valueprint("%10.3E" % (356.08977))

输出:


我们的例子中有两个:ldquo% 2drdquo和ldquo% 5.2frdquo。格式占位符的一般语法是:% [flags] [width] [。精度]类型

让我们看看例子中的占位符。

第一个占位符ldquo;%2drdquo;用于我们元组的第一个组件,即整数 1。该数字将打印 2 个字符。 由于 1 仅包含一位数字,因此输出用 1 个前导空白填充。第二个ldquo;%5.2frdquo;是浮点数的格式描述。 与其他占位符一样,它以 % 字符引入。 后面是字符串应包含的总位数。 这个数字包括小数点和所有数字,即小数点之前和之后。我们的浮点数 05.333 必须格式化为 5 个字符。 数字的小数部分或精度设置为 2,即ldquo;.rdquo;后面的数字。 在我们的占位符中。 最后,占位符的最后一个字符ldquo;frdquo;代表ldquo;floatrdquo;。


2 使用 format 方法格式化输出

Python(2.6)中增加了format()方法。字符串的格式化方法需要更多的人力。使用用户{}标记变量将被替换的位置,可以提供详细的格式化说明,但用户也需要提供要格式化的信息。这个方法允许我们通过位置格式连接输出中的元素。如下例所示:

示例1:

# using format() methodprint('I love {} for "{}!"'.format('Geeks', 'Geeks'))# using format() method and referring# a position of the objectprint('{0} and {1}'.format('Geeks', 'Portal'))print('{1} and {0}'.format('Geeks', 'Portal'))# the above formatting can also be done by using f-Strings# Although, this features work only with python 3.6 or above.print(f"I love {'Geeks'} for \"{'Geeks'}!\"")# using format() method and referring# a position of the objectprint(f"{'Geeks'} and {'Portal'}")

输出:


其中括号和字符(称为格式字段)由传递给format()方法的对象替换。括号中的数字可用于指示传递给format()方法的对象的位置。

示例2:

# combining positional and keyword argumentsprint('Number one portal is {0}, {1}, and {other}.' .format('Geeks', 'For', other ='Geeks'))# using format() method with numberprint("Geeks :{0:2d}, Portal :{1:8.2f}". format(12, 00.546))# Changing positional argumentprint("Second argument: {1:3d}, first one: {0:7.2f}". format(47.42, 11))print("Geeks: {a:5d}, Portal: {p:8.2f}". format(a = 453, p = 59.058))

输出:


示例3:

tab = {'geeks': 4127, 'for': 4098, 'geek': 8637678}# using format() in dictionaryprint('Geeks: {0[geeks]:d}; For: {0[for]:d}; ' 'Geeks: {0[geek]:d}'.format(tab))data = dict(fun ="GeeksForGeeks", adj ="Portal")# using format() in dictionaryprint("I love {fun} computer {adj}".format(**data))

输出:



3 使用 String 方法格式化输出

该输出通过使用字符串切片和连接操作进行格式化。类型有一些方法以更特殊的方式帮助打印格式。一些帮助打印格式的方法有str.rjust()、str.rjust()和str.centre()。

cstr = "I love geeksforgeeks" # Printing the center aligned# string with fillchrprint ("Center aligned string with fillchr: ")print (cstr.center(40, '#'))# Printing the left aligned# string with "-" paddingprint ("The left aligned string is : ")print (cstr.ljust(40, '-'))# Printing the right aligned string# with "-" paddingprint ("The right aligned string is : ")print (cstr.rjust(40, '-'))

输出:


这就是这篇关于python中打印格式方法的文章。关于python打印格式的更多信息

0

精彩评论

暂无评论...
验证码 换一张
取 消