python学习——练习题(10)
"""
题目:暂停一秒输出,并格式化当前时间。
""" import sys
import time def answer1():
"""
每隔一秒刷新一下时间 Print是比较多用到的函数,但是很多人对它的详细用法还不是很清楚,今天我们就来一探庐山真面目,详解print的前世今生。
print在Python2.x时代不是一个函数,只是一个关键字。因此那时候print可以这么用:
print " aaa" #输出字符串"aaa"
print 1,2 #输出1,2
print "aaa","bbb" #输出两个字符串
在最后一个object后面加上, 即可实现不换行输出:
print 1,2,
print "aaa","bbb"
输出 :1 2 aaa bbb
进入Python3.x时代,print必须使用括号()。在括号内添加对象,具体用法如下:
print(*objects,sep="",end="\n",file=sys.stdout,flush=False)
1.objects: 之所以是复数,表示可以一次输出多个对象。输出多个对象时,需要用,分隔
举个栗子:
a1="aaa"
a2="bbb"
print(a1,a2,)
输出:aaa bbb
但是如果对象不是变量,而是字符串。可以不用,分隔,此时Python会把两个字符串当做一个输出。再举个栗子:
print("aaa""bbb")
print("aaa","bbb")
输出:aaabbb
aaa bbb
对象输出到流式文件(stream file)--流式文件属于无结构文件,构成文件的基本单位是字符,流式文件是有序字符的集合,其长度为该文件所包含的字符个数,
所以又称为字符流文件。流式文件无结构,且管理简单,用户可以方便地对其进行操作。源程序、目标代码等文件属于流式文件。UNIX系统采用的是流式文件结构。
无结构文件是最简单的文件组织形式。无结构文件将数据按顺序组织成记录并积累保存,它是有序相关信息项的集合,以字节(Byte)为单位。由于无结构文件没有结构,
因而对记录的访问只能通过穷举搜索的方式,故这种文件形式对大多数应用不适用。但字符流的无结构文件管理简单,用户可以方便地对其进行操作。
所以,那些对基本信息单位操作不多的文件较适于釆用字符流的无结构方式,如源程序文件、目标代码文件等。
2.sep=" "
用来间隔多个对象,默认值是一个空格。你可以设置成其他字符。在print函数中,所有非关键字的参数都会被转化成字符型。
举个栗子:
print("aaa""bbb",sep="hello")
print("aaa","bbb",sep="hello")
结果:
aaabbb
aaahellobbb
再次证明了推论:两个字符串不用,隔开就会当做一个字符串。
3.end="\n"
这个参数的作用很明显,用来设定以什么结尾。默认值是换行符,我们可以换成其他字符串。用这个选项可以实现不换行输出:
a1="aaa"
a2="bbb"
print(a1,end="")
print(a2)
结果:aaabbb
我们也可以在end结尾加上换行符:
print("aaa",end="hello\n")
print("aaa","bbb",sep="hello",end="hello")
结果:
aaahello
aaahellobbbhello
4.file=sys.stdout
file指定的对象必须要有写(write)的方法,如果指定的对象没有该方法或者不存在,就会使用默认值。举个栗子:
new=open("new.txt","w")#新建一个对象new,对应的是txt文本,属性可写
print("aaa",end="hello\n",file=new)#输出,file指向该对象,不能指向txt文本文件
结果:在new.txt文本中成功写入字符串。
5.flush=False
该参数只有两个选项--true or false。True表示强制清除缓存,false表示缓存的事情交给文件本身吧。 至此一个小小的print函数终于讲完了,不知道你有没有收获,我是收获挺多的。我们下次再见,亲。
:return:
"""
print("输出一:")
for i in range(10):
time.sleep(1)
print(time.strftime("%Y-%m-%d %H:%M:%S"), sep=" ", end="\r", file=sys.stdout, flush=False)
# time.sleep(1) #放在这里问什么连一条都不显示,奇怪 answer1() def answer2():
"""
answer1,虽然最后是在同一行输出,切覆盖了前面的输出,但是前面的都没有显示,只有最后一次才显示
print的打印,好像需要一行完全完成后才会显示一整行,所以若是end不能\n,则不管你在该条print后
sleep多久,都将不会显示信息,所以上面的方法不能实现我想要的效果 使用两个ANSI.SYS,ANSI.SYS参考资料
https://www.zhihu.com/question/21100416
http://www.jb51.net/article/8197.htm
:return:
"""
print("\n输出二:")
for i in range(10):
print("\r%s%s%s%s" % ("\x1b[1;0m", time.strftime("%Y-%m-%d %H:%M:"), "\x1b[1;31m", time.strftime("%S")), sep=" ", end=",", file=sys.stdout, flush=False)
time.sleep(1)
print("完成") answer2()
python学习——练习题(10)的更多相关文章
- python 学习笔记 10 -- 正則表達式
零.引言 在<Dive into Python>(深入python)中,第七章介绍正則表達式,开篇非常好的引出了正則表達式,以下借用一下:我们都知道python中字符串也有比較简单的方法, ...
- python学习笔记10(Python的内存管理)
用这张图激励一下自己,身边也就只有一位全栈数据工程师!!! 32. Python的内存管理 1. 对象的内存使用 对于整型和短字符串对象,一般内存中只有一个存储,多次引用.其他的长字符串和其他对象 ...
- Python 学习笔记10
念念不忘,必有回响. 今天继续学习Python 类.
- 从零开始的Python学习Episode 10——函数
函数 一.函数的创建 简单格式 def function_name(参数表): 函数体 return 如果没有写return,函数会默认返回一个none 二.函数的参数 必需参数: 调用函数时必需参数 ...
- python学习——练习题(9)
""" 题目:暂停一秒输出. 程序分析:使用 time 模块的 sleep() 函数. http://www.runoob.com/python/python-date- ...
- Python学习:10.Python装饰器讲解(一)
情景介绍 一天,在你正在努力加班的时候,老板给交给你了一个任务,就是在这段代码里将所有函数开始输出一个‘hello’最后输出当前时间,再输出一个“end”,这段代码里包含了大量的函数,你会怎么做? d ...
- python学习——练习题(4)
""" 题目:输入某年某月某日,判断这一天是这一年的第几天? """ import datetime import time from fu ...
- python学习——练习题(1)
""" 题目:有四个数字:1.2.3.4,能组成多少个互不相同且无重复数字的三位数?各是多少? """ import itertools d ...
- python学习笔记10 ----网络编程
网络编程 网络编程需要知道的概念 网络体系结构就是使用这些用不同媒介连接起来的不同设备和网络系统在不同的应用环境下实现互操作性,并满足各种业务需求的一种粘合剂.网络体系结构解决互质性问题彩是分层方法. ...
随机推荐
- Centos6.x搭建lnmp环境
查看系统版本 #cat /etc/redhat-release CentOS release 6.7 (Final) 配置静态ip #vi /etc/sysconfig/network-scripts ...
- Linux文件传输scp和rsync断点续传
scp 是通过ssh协议传输数据,如果是想传输一个很大的数据,这几天我就遇到过,一个tar包,400G左右,通过scp拷贝时,有可能遇到服务器断电什么的悲剧问题,那么类似scp拷贝的另一个命令 rsy ...
- 添加dom节点及优化
创建并添加dom加点如何进行优化? 1.使用文档片(DocumentFragment) 可以理解为"仓库",用来保存将来可能会添加到DOM中的节点: var fragment = ...
- SGU495Kids and Prizes(数学期望||概率DP||公式)
495. Kids and Prizes Time limit per test: 0.25 second(s) Memory limit: 262144 kilobytes input: stand ...
- Hash学习小结
Hash 简要说明 \(OI\)中一般采用进制\(hash\).模数可以用\(unsigned \ long \ long\)自然溢出,也可以使用大质数.值得一提的是,\(unsigned\ long ...
- 20179223《Linux内核原理与分析》第二周学习笔记
第二周实验 本周学习情况: 学习了X86 cpu的几个寄存器及X86汇编指令: movl %eax,%edx edx=eax %表示一个寄存器,把eax内容放入edx,等号相当于把eax赋值给edx, ...
- php7+Redis+Windows7安装 (phpstudy)
1.首先去github网站上下载https://github.com/dmajkic/redis/downloads: 2.根据实际情况,将64bit的内容cp到自定义盘符目录,如D:\Redis; ...
- 微信小程序(1)——小程序的特点以及结构
简单的,用完即走的应用 低频应用 性能要求不高的应用 应用程序入口(app.js app.json app.wxss) 一级页面:wxml,wxss,js,json 二级页面:wxml,wxss ...
- CentOS 7.0 yum安装Apache、PHP和MySQL
centos7默认将mariadb视作mysql. p.s.因为mysql被oracle收购后,原作者担心mysql闭源,所以又写了一个mariadb,这个数据库可以理解为mysql的分支. 卸载ma ...
- SQL的 like 中间字符通配 用法
中间的字符也可以用通配符匹配如果业务需求是找出某表中某字段是“好*****上”的数据,SQL语句应该写成 select * from Table where UserName like '%好%上%' ...