python print函数详细用法


  先提前说,我这篇文章很水,是我用了很久Python,却发现连最常用的print方法都不熟悉,这个方法竟然还有四个参数!这是我学艺不精了,幸好发现得早。所以我得把这个四个参数都练练,水一篇笔记出来。

输出变量

  python的print函数是输出对象的__str__方法返回的字符串的,为此我写一个类,重载它的__expr__和__str__方法,做个试验:

class NumberPair:
    def __init__(self, a, b):
        self.a = a
        self.b = b

    def expr(self):
        return f'{self.a},{self.b}'

    def __str__(self):
        return f'{self.a}-{self.b}'


if __name__ == '__main__':
    x = NumberPair(1, 2)
    print(x)

  输出结果为:

1-2

  从试验结果看,执行的是__str__方法。

sep参数

  修改分隔符,默认是空格,可以改成别的。

# _*_ coding:utf-8 _*_

if __name__ == '__main__':

    print("list", "all", "files", sep="-")

  结果:

list-all-files

end参数

  修改结尾用的,默认是换行,我写了个例子改成空格,就很像java的print了,哈哈:

# _*_ coding:utf-8 _*_

if __name__ == '__main__':

    print("Your", end=" ")
    print("great", end=" ")
    print("puffs", end=" ")
    print("of", end=" ")
    print("flowers", end=" \n")

  结果:

Your great puffs of flowers 

file参数

  当我知道这个参数时我是震惊的。我根本没想到print函数还能这样用:

# _*_ coding:utf-8 _*_

if __name__ == '__main__':
    file = open('x.txt', "w")
    print("You are everywhere.", file=file)
    print("You were everywhere.", file=file)
    file.close()

  文件会自动生成,里面成功写入了内容:

You are everywhere.
You were everywhere.

flush参数

  flash参数在菜鸟教程里是用来做loading效果的。但是我试了,flush为false,也是会出现loading效果的。但是使用文件再单步debug,或者狂加断点就可以知道这个参数的作用!如以下代码:

# _*_ coding:utf-8 _*_

import time

if __name__ == '__main__':
    if __name__ == '__main__':
        file = open('x.txt', "w")
        print("You are everywhere.", file=file, flush=False)
        print(file=file, flush=True, end='')
        print("You were everywhere.", file=file)
        file.close()

  使用PyCharm打开双窗口,如图:
在这里插入图片描述
 注意,及时刷新文件,按下图,再鼠标右键菜单中操作:
在这里插入图片描述
  就会发现flush参数为false时,文件里是没内容的。执行下一行后,右键加载磁盘后,文件内存才更新了:
在这里插入图片描述
  经过了这个小小的debug实验,就深刻理解了flush这个参数的作用了。

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

醒过来摸鱼

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值