有几种方式可以显示程序的输出,可以以人类可读的形式打印数据,也可以将数据写入文件以备将来使用。有时,用户通常希望更多地控制输出的格式,而不是简单地打印以空格分隔的值。有几种格式化输出的方法。
若要使用格式化的字符串文字,请在开头的引号或三引号之前使用f或F开头的字符串。
字符串的str.format()方法可帮助用户获得更出色的输出
用户可以通过使用字符串切片和连接操作来创建用户所需的任何布局来完成所有字符串处理。字符串类型有一些方法可以执行有用的操作,以将字符串填充到给定的列宽。
%运算符还可以用于字符串格式化。它解释左参数很像要应用于右参数的printf()样式格式字符串。
# string modulo operator(%) to print # print integer and float value print("Vishesh : % 2d, Portal : % 5.2f" %(1, 05.333)) # print integer value print("Total students : % 3d, Boys : % 2d" %(240, 120)) # print octal value print("% 7.3o"% (25)) # print exponential value print("% 10.3E"% (356.08977))
输出结果
Vishesh : 1, Portal : 5.33 Total students : 240, Boys : 120 031 3.561E+02
该format()
方法是在Python(2.6)中添加的。字符串的格式化方法需要更多的人工。用户使用{}来标记变量将被替换的位置,并可以提供详细的格式化指令,但用户还需要提供要格式化的信息。
# show format () is used in dictionary tab = {'Vishesh': 4127, 'for': 4098, 'python': 8637678} # using format() in dictionary print('Vishesh: {0[vishesh]:d}; For: {0[for]:d}; ' 'python: {0[python]:d}'.format(tab)) data = dict(fun ="VisheshforPython", adj ="Python") # using format() in dictionary print("I love {fun} computer {adj}".format(**data))
在此输出中,通过使用字符串切片和串联操作来格式化。
# format a output using string() method cstr = "I love python" # Printing the center aligned # string with fillchr print ("Center aligned string with fillchr: ") print (cstr.center(40, '$')) # Printing the left aligned string with "-" padding print ("The left aligned string is : ") print (cstr.ljust(40, '-')) # Printing the right aligned string with "-" padding print ("The right aligned string is : ") print (cstr.rjust(40, '-'))
输出结果
Center aligned string with fillchr: $$$$$$$$$$$$$I love python$$$$$$$$$$$$$$ The left aligned string is : I love python--------------------------- The right aligned string is : ---------------------------I love python