Python3输出详解:str(), repr()与str.format()

2 下载量 173 浏览量 更新于2024-08-31 收藏 121KB PDF 举报
"Python3的输入与输出是编程的基础操作,包括了对数据的呈现和获取。本文将重点介绍Python3中的输出格式美化方法,包括使用表达式语句、print()函数以及文件对象的write()方法。特别是print()函数和str.format()方法,它们提供了丰富的格式化选项,使代码更具可读性和灵活性。 在Python3中,输出值有多种方式。首先,简单的表达式语句可以直接输出结果,如`x = 5; print(x)`。其次,print()函数是最常用的输出工具,它可以处理多个参数,并且可以进行复杂的格式化输出。例如,`print("Hello", "World")`会在控制台打印出“Hello World”。此外,文件对象的write()方法允许我们将内容写入文件,如`sys.stdout.write("Hello")`会将“Hello”写入标准输出。 对于字符串的格式化,str()函数可以将任何对象转换为用户易读的字符串形式,适用于一般显示。例如,`str(123)`会返回字符串"123"。而repr()函数则生成一个解释器友好的表达式,通常包含引号和转义字符,便于调试。例如,`repr('Hello\n')`返回的是'Hello\\n'。 str.format()方法是Python3中强大的字符串格式化工具,它使用花括号{}作为占位符。基本语法如`"{} {}".format('Hello', 'World')`,可以将两个字符串合并输出。format()函数支持多种高级特性: a) 转换标志:!a、!s、!r分别代表ascii()、str()和repr(),可以在格式化前转换值的类型。 b) 位置参数和关键字参数混合使用:可以自由地结合使用位置参数(如`'{0}, {name}'.format('Hello', name='World')`)和关键字参数(如`'{greeting}, {name}'.format(greeting='Hello', name='World')`)。 c) 宽度控制:通过冒号后的整数,可以设定输出字段的最小宽度,如`"{:<10}".format('Python')`,确保“Python”至少占用10个字符宽。 d) 变量名直接引用:对于复杂的格式化,可以使用变量名,避免在format字符串中多次重复相同的值,如`"{greeting}, {website}".format(greeting='Hello', website=site)`。 示例代码展示了str()、repr()和str.format()的用法,其中`strA`和`dictA`分别被转换为字符串,`repr()`保留了转义字符。通过str.format()的不设置指定位置的例子,我们可以看到即使没有明确的位置指示,参数也会按照传递给format()的顺序进行替换。 Python3的输入和输出机制提供了丰富的功能,使得数据的呈现和获取更加灵活和方便。熟练掌握这些技巧,可以极大地提高代码的可读性和维护性。"