• Python print()函数高级用法


    1.前面使用 print() 函数时,都只输出了一个变量,但实际上 print() 函数完全可以同时输出多个变量,而且它具有更多丰富的功能。

    print() 函数的详细语法格式如下:

    print (value,...,sep='',end=' ',file=sys.stdout,flush=False)

    从上面的语法格式可以看出,value 参数可以接受任意多个变量或值,因此 print() 函数完全可以输出多个值。例如如下代码:

    1. user_name = 'Charlie'
    2. user_age = 8
    3. #同时输出多个变量和字符串
    4. print("读者名:",user_name,"年龄:",user_age)

    运行上面代码,可以看到如下输出结果:

    读者名: Charlie 年龄: 8

    从输出结果来看,使用 print() 函数输出多个变量时,print() 函数默认以空格隔开多个变量,如果读者希望改变默认的分隔符,可通过 sep 参数进行设置。例如输出语句:

    1. #同时输出多个变量和字符串,指定分隔符
    2. print("读者名:" ,user_name,"年龄:",user_age,sep='|')

    运行上面代码,可以看到如下输出结果:

    读者名:|Charlie|年龄:|8


    在默认情况下,print() 函数输出之后总会换行,这是因为 print() 函数的 end 参数的默认值是“ ”,这个“ ”就代表了换行。如果希望 print() 函数输出之后不会换行,则重设 end 参数即可,例如如下代码:

    #设置end 参数,指定输出之后不再换行
    print(40,'	',end="")
    print(5O,'	',end="")
    print(60,'	',end="")

    上面三条 print() 语句会执行三次输出,但由于它们都指定了 end="",因此每条 print() 语句的输出都不会换行,依然位于同一行。运行上面代码,可以看到如下输出结果:

    40    50    60


    2.file 参数指定 print() 函数的输出目标,file 参数的默认值为 sys.stdout,该默认值代表了系统标准输出,也就是屏幕,因此 print() 函数默认输出到屏幕。实际上,完全可以通过改变该参数让 print() 函数输出到特定文件中,例如如下代码:

    1. open("demo.txt","w")#打开文件以便写入
    2. print('沧海月明珠有泪',file=f)
    3. print('蓝回日暖玉生烟',file=f)
    4. f.close()

    上面程序中,open() 函数用于打开 demo.txt 文件,接连 2 个 print 函数会将这 2 段字符串依次写入此文件,最后调用 close() 函数关闭文件,教程后续章节还会详细介绍关于文件操作的内容。

    print() 函数的 flush 参数用于控制输出缓存,该参数一般保持为 False 即可,这样可以获得较好的性能。参数flush,默认为False。那么这个参数是干什么用的?并且是怎么用的?

    举个例子:
    在线web聊天,页面会实时显示聊天的内容, 其实后台是一直在向服务器请求数据的, 正常情况下是请求完毕之后才会输出相应内容, 但是即时聊天,需要一有响应就得立即返回, flush也就起作用了。

    再举个例子:
    我们知道print也可输出到文件。在python3 交互模式中输入:

    f=open("123.txt","w")
    print("123456789",file=f)

    运行后打开123.txt文件,发现“123456789”未被写入,文件内容为空。只有f.close()后才将内容写进文件中。如果加入flush = True,即上面代码改为:

    f=open("123.txt","w")
    print("123456789",file=f,flush=True)

    不用f.close()即可将内容写进文件中
    flush参数主要是刷新, 默认flush = False,不刷新,如上面例子,print到f中的内容先存到内存中,当文件对象关闭时才把内容输出到 123.txt 中;而当flush = True时它会立即把内容刷新存到 123.txt 中。

  • 相关阅读:
    电商搜索“随便逛逛,想知道大家都在搜什么?现在什么最热门?”
    最佳实践:使用阿里云CDN加速OSS访问
    Arthas 初探安装初步适用
    分布式锁在存储系统中的技术实践
    Flink 源码 | 自定义 Format 消费 Maxwell CDC 数据
    云原生时代 RocketMQ 运维管控的利器 RocketMQ Operator
    SpringCloud 应用在 Kubernetes 上的最佳实践 — 线上发布(可监控)
    文件系统04 零基础入门学习Delphi37
    文件系统03 零基础入门学习Delphi36
    鱼油账号记录程序 零基础入门学习Delphi38
  • 原文地址:https://www.cnblogs.com/bashliuhe/p/12499976.html
Copyright © 2020-2023  润新知