大家好,今天我要讨论python中print()函数的一些功能。您可能会遇到其中一些功能,而其他功能似乎很新。
让我们从了解打印功能的基础开始。在python中,内置的print函数用于打印各种东西-文本,数字,对象,字典等,但是此函数如何处理呢?!你可能认为;它就是可以做到的,就是为此而做的。但实际上,python中的print函数只能处理字符串。
在幕后,传递给print()函数的所有内容都将转换为字符串,然后再打印到屏幕上。这意味着它将利用str()类型转换并将所有其他数据类型转换为字符串,然后再将其显示在控制台/终端上。现在您已经知道print()的工作原理,下面我们来介绍一下它的功能。 。
此外,打印不知道如何将文本打印到屏幕上。我暂时不会详细介绍。在本文的后面,您将了解其后会发生什么。
基本上,您可以打印任何内容。您遇到的最简单的示例是print(" Hello World!");它会用双引号或单引号将字符串括起来并打印出来。您也可以通过用逗号分隔逗号来打印多个内容,例如如:
name =" Mike" age = 24print(" Hello&#34 ;, name,"您的年龄是&#34 ;, age)#输出:Hello Mike您的年龄为24
您也可以打印多行的文本。在这种情况下,您将使用换行符\ nExample:
上面的示例展示了打印功能的基础。打印可能需要可变数量的值。除此之外,还有一些关键字参数。让我们深入研究它们
print()允许您决定用什么分隔文本。默认情况下,传递给它的所有值都由空字符串分隔。但是我们改变了。只要包含sep =,然后再加上要分隔文本的内容即可。让我们利用前面的示例。
名称="迈克年龄= 24print(" Hello&#34 ;,名称,"您的年龄是&#34 ;,年龄,sep ="-") #输出:Hello-Mike-您的年龄为24岁
您会注意到,我们分别传递给它的所有内容都由-分隔。您可以根据需要进行修改。您只需要确保分隔符是有效的字符串即可。
您可以通过希望输出结束的任何内容来指定。默认情况下,您要打印的内容以换行符\ n结尾。让我们进行更改,看看会发生什么
#没有修改的最终字符指纹(" Hello James")print("你好吗")#输出#你好詹姆斯#你好吗#修改的最终字符指纹("你好詹姆斯&#34 ;, end ="")print("你好吗&#34 ;, end ="")#输出#你好詹姆斯你好吗
如果执行该命令,我们会发现文本不再由新行分隔。让我们再试一次!但是这一次,我们希望它以y结尾并移至新行。
在这篇文章的开头,我说过python本身不知道如何将内容打印到屏幕上。而是使用sys.stdout并将您的文本写入该文件。等什么! Print会将文本写入文件对象,该文件对象是我通过sys.stdout发送到屏幕的。因此,您也可以修改此行为以将其打印到其他位置。让我们尝试一下。编写以下代码:
执行上述操作将以文件名hello.text结尾,该文件的名称与文本在同一目录中。因此,我们可以将文本打印在想要打印的地方。在这种情况下,我们创建了一个文件名hello.txt,并使用file关键字参数将结果定向到将写入该文件而不是我们的终端。您可以使用此方法将任何结果定向到所需的任何位置,即使通过套接字连接也可以。
这段代码应该做的是;一秒钟后打印一个名字。尝试运行它,看看会发生什么。您会注意到它意外地等待并立即打印所有内容。这是因为由于它在一行上,所以在我们得到它之前,所有的东西都会被缓冲(打包)。在这里阅读有关缓冲区的更多信息,但是我们可以通过在打印函数中添加flush =关键字参数来解决这个问题。默认情况下,它设置为False。将其设置为true将确保在下一个语句之前执行每个print语句并将其从缓冲区中释放出来,以下代码将使其:
如果您运行它。它将在同一行上打印一个名称,睡眠一秒钟,然后打印另一个。是的,我们做到了!