print('Hello World!')的新玩法
相信很多同学入门Python的第一行代码都是print('Hello World!')
print是初学者最先接触的Python函数,但是很多人可能到现在也不完全清楚它的用法。
print(*objects, sep=’ ‘, end=’\n’, file=sys.stdout, flush=False)
参数:
objects – 复数,表示可以一次输出多个对象。输出多个对象时,需要用 , 分隔。
sep – 用来间隔多个对象,默认值是一个空格。
end – 用来设定以什么结尾。默认值是换行符 \n,我们可以换成其他字符串。
file – 要写入的文件对象。
flush – 输出是否被缓存通常决定于 file,但如果 flush 关键字参数为 True,流会被强制刷新。
除了常用的objects参数,剩下几个参数大家应该比较陌生吧?下面咱们看看这几个参数可以玩出什么花样?
默认情况下,print 函数会将内容打印输出到标准输出流(即 sys.stdout),可以通过 file 参数自定义输出流。
with open('data.txt', 'w') as f:
print('Hello World!', file=f)
然后工作目录下就会保存一份txt文件

注意,print输出的其实有两行,第二行为空。这是因为当我们在 Python 中打印对象调用 print(obj) 时候,事实上是调用了sys.stdout.write(obj+'\n'),print 将需要的内容打印到控制台,然后追加了一个换行符。
import sys
sys.stdout.write('Hello World!'+'\n')
print('Hello World!')
## 上面两行是等价的
如果不想让print自动换行,怎么办呢?只需要指定end参数为空即可
print('Hello World!',end='')
flush这个参数就更有意思了,print() 函数会把内容放到内存中,不一定及时刷新显示到屏幕中。 使用flush=True之后,会在print结束之后,不管你有没有达到条件,立即将内存中的东西显示到屏幕上,清空缓存。
这样就可以实现一些装逼效果满分的操作了

比如动态Loading效果:
import time
print("Loading",end = '')
for i in range(10):
print(".",end = '',flush = True,)
time.sleep(0.2)
print('\n',"Hello World!")

再比如打字机效果
import time
def printer(text, delay=0.3):
for ch in text:
print(ch, end='', flush=True)
time.sleep(delay)
printer('Hello World!')

同学们学废了吗?给了三连可好?
print('Hello World!')的新玩法的更多相关文章
- 自定义 checkbox 新玩法 ?
自定义 checkbox 新玩法 ? 第一步:selector 编写 drawable/selector_checkbox_voice.xml <?xml version="1.0&q ...
- 【转帖】Moodle平台的5个新玩法
[玩坏Moodle平台]Moodle平台的5个新玩法 1.RSS订阅 Moodle平台可以导入外部博客(或其他提供RSS的服务),并显示在Moodle内置的博客系统中.无论是自己的个人网站还是他人的博 ...
- Odoo 库存管理-库存移动(Stock Move)新玩法
库存移动(Stock Move)新玩法 Odoo的库存移动不仅仅是存货在两个“存货地点”之间的移动的基本概念了,他们可以被“串联”在一起,可以用来生成或改变其对应的拣货单 (Picking).链式库存 ...
- MySQL高可用新玩法之MGR+Consul
前面的文章有提到过利用consul+mha实现mysql的高可用,以及利用consul+sentinel实现redis的高可用,具体的请查看:http://www.cnblogs.com/gomysq ...
- 摹客iDoc「标注」新玩法!这些细节让你爱不释手(201903-2版本更新)
哈喽小伙伴们,我们又见面啦!没错,小摹就是来告诉大家:摹客iDoc又双叒叕升级了!这次又上线了许多新玩法,在此之前,小摹先带大家温习一下iDoc以往的知识点: 攻城狮查看标注的利器 —— 标注信息智能 ...
- Chrome 控制台新玩法-向输出到console的文字加样式
Chrome 控制台新玩法-向输出到console的文字加样式 有兴趣的同学可以文章最后的代码复制贴到控制台玩玩. Go for Code 在正常模式下,一般只能向console 控制台输出简单的文字 ...
- Github 新玩法 -- Profile ReadMe
Github 新玩法 -- Profile ReadMe Intro 今天刷 Github 的时候偶然发现一个新的玩法,Github Profile ReadMe,可以在个人的 Profile 页面展 ...
- WEB安全新玩法 [1] 业务安全动态加固平台
近年来,信息安全体系建设趋于完善,以注入攻击.跨站攻击等为代表的传统 Web 应用层攻击很大程度上得到了缓解.但是,Web 应用的业务功能日益丰富.在线交易活动愈加频繁,新的安全问题也随之呈现:基于 ...
- 老司机带你体验SYS库多种新玩法
导读 如何更加愉快地利用sys库做一些监控? 快来,跟上老司机,体验sys库的多种新玩法~ MySQL5.7的新特性中,非常突出的特性之一就是sys库,不仅可以通过sys库完成MySQL信息的收集,还 ...
- 告别尬聊,解锁秀场+社交新玩法(内含源码+Demo)
直播已成为用户的生活习惯之一 艾媒咨询数据显示:2021年直播用户规模达到6.35亿人,在线直播用户以年轻群体为主,24岁及以下用户占比49%,30岁以下用户接近8成. 众所周知,Z世代用户是一个社交 ...
随机推荐
- 将强化学习引入NLP:原理、技术和代码实现
本文深入探讨了强化学习在自然语言处理(NLP)中的应用,涵盖了强化学习的基础概念.与NLP的结合方式.技术细节以及实际的应用案例.通过详细的解释和Python.PyTorch的实现代码,读者将了解如何 ...
- .NET 8 Video教程介绍(开篇)
教程简介 本文将简单描述视频网站教程,视频网站是一个类似于腾讯视频一样的网站,视频资源用户自己上传,然后提供友好的界面查看视频和搜索视频,并且提供管理页面对于视频进行管理,我们将使用Blazor作为前 ...
- 开发必备工具、插件【ME】
工欲善其事,必先利其器,记录自己开发中常用的工具.插件: 慢慢更新... 一.必备 1.Visual Studio.IntelliJ IDEA .Sublime Text 3 2.TeamViewe ...
- java中父类方法return this.对象还是变量,子类去调用this.这个方法的问题
这个问题很简单 public class this_test01 { public static void main(String[] args) { zi j=new zi(); j.pri(); ...
- Linux笔记03: Linux常用命令_3.5权限管理命令
3.5 权限管理命令 3.5.1 权限介绍 1.为什么需要权限 绝大多数用户使用的是个人计算机,而使用个人计算机的用户一般都是被信任的用户(如家人.朋友等).在这种情况下,大家都可以使用管理员身份直接 ...
- 实践解析HPA各关联组件扭转关系
本文分享自华为云社区<HPA各关联组件扭转关系以及建议>,作者:可以交个朋友. 一.背景 应用程序的使用存在波峰波谷现象,在应用流量处于低谷期间,可以释放因过多的Pod而浪费的硬件资源.在 ...
- 华企盾DSC导入离线客户端没有获取到信息
安装客户端的时候禁用了网卡,导致导入离线客户端获取不到信息. 解决方法: 1.启用网卡,重启电脑 2.启用网卡,重装客户端
- 神经网络优化篇:详解梯度的数值逼近(Numerical approximation of gradients)
在实施backprop时,有一个测试叫做梯度检验,它的作用是确保backprop正确实施.因为有时候,虽然写下了这些方程式,却不能100%确定,执行backprop的所有细节都是正确的.为了逐渐实现梯 ...
- EasyDO这么好用!别家的运维小哥都馋哭了
运维这份工作似乎总是被人误会- 修服务器的 接网线的 盯监控的 维护系统的 说啥的都有,平常人都不太知道运维是干啥的 跟小编来探一探云掣MSP服务线运维小哥的实际运维工作? 运维小哥一部分日常工作就是 ...
- 好玩、有趣的 Linux 命令学习神器 kmdr!
大家好,我是你们的民工哥. 所有学习Linux系统的初学者都知道,入门时除了简单的系统知识需要了解之外,其次,最重要的就是学习与理解Linux命令的用法与其应用场景. 所以,大家也会遇到这样的情况,不 ...