相信很多同学入门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!')的新玩法的更多相关文章

  1. 自定义 checkbox 新玩法 ?

    自定义 checkbox 新玩法 ? 第一步:selector 编写 drawable/selector_checkbox_voice.xml <?xml version="1.0&q ...

  2. 【转帖】Moodle平台的5个新玩法

    [玩坏Moodle平台]Moodle平台的5个新玩法 1.RSS订阅 Moodle平台可以导入外部博客(或其他提供RSS的服务),并显示在Moodle内置的博客系统中.无论是自己的个人网站还是他人的博 ...

  3. Odoo 库存管理-库存移动(Stock Move)新玩法

    库存移动(Stock Move)新玩法 Odoo的库存移动不仅仅是存货在两个“存货地点”之间的移动的基本概念了,他们可以被“串联”在一起,可以用来生成或改变其对应的拣货单 (Picking).链式库存 ...

  4. MySQL高可用新玩法之MGR+Consul

    前面的文章有提到过利用consul+mha实现mysql的高可用,以及利用consul+sentinel实现redis的高可用,具体的请查看:http://www.cnblogs.com/gomysq ...

  5. 摹客iDoc「标注」新玩法!这些细节让你爱不释手(201903-2版本更新)

    哈喽小伙伴们,我们又见面啦!没错,小摹就是来告诉大家:摹客iDoc又双叒叕升级了!这次又上线了许多新玩法,在此之前,小摹先带大家温习一下iDoc以往的知识点: 攻城狮查看标注的利器 —— 标注信息智能 ...

  6. Chrome 控制台新玩法-向输出到console的文字加样式

    Chrome 控制台新玩法-向输出到console的文字加样式 有兴趣的同学可以文章最后的代码复制贴到控制台玩玩. Go for Code 在正常模式下,一般只能向console 控制台输出简单的文字 ...

  7. Github 新玩法 -- Profile ReadMe

    Github 新玩法 -- Profile ReadMe Intro 今天刷 Github 的时候偶然发现一个新的玩法,Github Profile ReadMe,可以在个人的 Profile 页面展 ...

  8. WEB安全新玩法 [1] 业务安全动态加固平台

    近年来,信息安全体系建设趋于完善,以注入攻击.跨站攻击等为代表的传统 Web 应用层攻击很大程度上得到了缓解.但是,Web 应用的业务功能日益丰富.在线交易活动愈加频繁,新的安全问题也随之呈现:基于 ...

  9. 老司机带你体验SYS库多种新玩法

    导读 如何更加愉快地利用sys库做一些监控? 快来,跟上老司机,体验sys库的多种新玩法~ MySQL5.7的新特性中,非常突出的特性之一就是sys库,不仅可以通过sys库完成MySQL信息的收集,还 ...

  10. 告别尬聊,解锁秀场+社交新玩法(内含源码+Demo)

    直播已成为用户的生活习惯之一 艾媒咨询数据显示:2021年直播用户规模达到6.35亿人,在线直播用户以年轻群体为主,24岁及以下用户占比49%,30岁以下用户接近8成. 众所周知,Z世代用户是一个社交 ...

随机推荐

  1. Element类型&Text类型&Comment类型

    Element节点类型  nodetype=1 nodename=大写元素标签名  父节点可以说document 或element 其子节点可以是Element .Text .comment 访问元素 ...

  2. Webpack.devServer 配置项如何使用?附devServer完整示例

    前言: 我们在平常本地开发时,可能经常需要与后端进行联调,或者调用一些api,但是由于浏览器跨域的限制.开发与生产环境的差异.http与https等问题经常让联调的过程不够顺畅.所以本文介绍一下web ...

  3. 发现AI自我意识:知识及其载体

    知识的量子态 在回答什么是"理解"之前,我们先来讨论一下知识和其载体的定义.知识本身是一个抽象的概念,它可以被编码到各种物质载体中.无论是纸质书籍,还是人类大脑中的神经连接,抑或是 ...

  4. Echarts 饼图,legend样式美化

    最后样式图: 实现代码: var myChart = echarts.init(document.getElementById('container')); let option = { /*{b}: ...

  5. 【免费】小傅哥 DDD 开发小册

    作者:小傅哥 博客:https://bugstack.cn 沉淀.分享.成长,让自己和他人都能有所收获! 大家好,我是技术UP主小傅哥. 如果在面试的时候,面试官问你DDD是什么,你怎么解释?是不是感 ...

  6. 赛意SMOM和金蝶云星空单据接口对接

    赛意SMOM和金蝶云星空单据接口对接 数据源系统:金蝶云星空 金蝶K/3Cloud在总结百万家客户管理最佳实践的基础上,提供了标准的管理模式:通过标准的业务架构:多会计准则.多币别.多地点.多组织.多 ...

  7. 解决IDEA加载maven工程缓慢

    如图,哪里没有加哪里 -DarchetypeCatalog=internal

  8. mysql数据库数据同步几种通用方法?

    MySQL数据库数据同步的几种通用方法包括以下几个方面: 一.基于主从同步 主从同步是 MySQL 数据库最为常见和基本的同步方式,即其中一台 MySQL 服务器作为主服务器(Master),另外一台 ...

  9. 分享一个 asp.net core 多文件分块同时上传的组件

    分享一个可多个文件同时上传.断点续传,并实时反馈上传进度的 Asp.Net core 组件. 服务器端 引用 nuget 包:JMS.FileUploader.AspNetCore 然后启用上传组件: ...

  10. [CF568E] Longest Increasing Subsequence

    题目描述 Note that the memory limit in this problem is less than usual. Let's consider an array consisti ...