"""
题目:暂停一秒输出,并格式化当前时间。
""" 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)的更多相关文章

  1. python 学习笔记 10 -- 正則表達式

    零.引言 在<Dive into Python>(深入python)中,第七章介绍正則表達式,开篇非常好的引出了正則表達式,以下借用一下:我们都知道python中字符串也有比較简单的方法, ...

  2. python学习笔记10(Python的内存管理)

      用这张图激励一下自己,身边也就只有一位全栈数据工程师!!! 32. Python的内存管理 1. 对象的内存使用 对于整型和短字符串对象,一般内存中只有一个存储,多次引用.其他的长字符串和其他对象 ...

  3. Python 学习笔记10

    念念不忘,必有回响. 今天继续学习Python 类.

  4. 从零开始的Python学习Episode 10——函数

    函数 一.函数的创建 简单格式 def function_name(参数表): 函数体 return 如果没有写return,函数会默认返回一个none 二.函数的参数 必需参数: 调用函数时必需参数 ...

  5. python学习——练习题(9)

    """ 题目:暂停一秒输出. 程序分析:使用 time 模块的 sleep() 函数. http://www.runoob.com/python/python-date- ...

  6. Python学习:10.Python装饰器讲解(一)

    情景介绍 一天,在你正在努力加班的时候,老板给交给你了一个任务,就是在这段代码里将所有函数开始输出一个‘hello’最后输出当前时间,再输出一个“end”,这段代码里包含了大量的函数,你会怎么做? d ...

  7. python学习——练习题(4)

    """ 题目:输入某年某月某日,判断这一天是这一年的第几天? """ import datetime import time from fu ...

  8. python学习——练习题(1)

    """ 题目:有四个数字:1.2.3.4,能组成多少个互不相同且无重复数字的三位数?各是多少? """ import itertools d ...

  9. python学习笔记10 ----网络编程

    网络编程 网络编程需要知道的概念 网络体系结构就是使用这些用不同媒介连接起来的不同设备和网络系统在不同的应用环境下实现互操作性,并满足各种业务需求的一种粘合剂.网络体系结构解决互质性问题彩是分层方法. ...

随机推荐

  1. TreeSet中自定义Comparator实现降序

    @Test public void test1() { TreeSet ts = new TreeSet<Integer>(new MyComparator()); ts.add(3); ...

  2. PHP 关于empty和isset对于参数的判断结果

    <?php class test{} $a1 = null; $a2 = ""; //$a3 = $a4 = 0; $a5 = '0'; $a6 = false; $a7 = ...

  3. 白话machine learning之Loss Function

    转载自:http://eletva.com/tower/?p=186 有关Loss Function(LF),只想说,终于写了 一.Loss Function 什么是Loss Function?wik ...

  4. html 刷新 按钮 代码

    <input type=button value=刷新 onclick="history.go(0)"> <input type=button value=刷新 ...

  5. Docker学习(三)docker容器操作

    上一篇:Docker学习(二)docker镜像操作 容器是基于镜像创建的,说白了把一个镜像运行起来就是容器 查看容器 docker ps 上面什么也没有,因为我们没有正在运行的容器,下面我门启动一个容 ...

  6. POJ3068 "Shortest" pair of paths 【费用流】

    POJ3068 "Shortest" pair of paths Description A chemical company has an unusual shortest pa ...

  7. 零基础学习hadoop到上手工作线路指导初级篇:hive及mapreduce

      此篇是在零基础学习hadoop到上手工作线路指导(初级篇)的基础,一个继续总结.五一假期:在写点内容,也算是总结.上面我们会了基本的编程,我们需要对hadoop有一个更深的理解:hadoop分为h ...

  8. HTML5的28个常用特性

    1. 新的Doctype 尽管使用<!DOCTYPE html>,即使浏览器不懂这句话也会按照标准模式去渲染 2. Figure元素 用<figure>和<figcapt ...

  9. 几张 ejabberd 架构部署图

                   

  10. 高并发的epoll+线程池,线程池专注实现业务

    我们知道,服务器并发模型通常可分为单线程和多线程模型,这里的线程通常是指“I/O线程”,即负责I/O操作,协调分配任务的“管理线程”,而实际的请求和任务通常交由所谓“工作者线程”处理.通常多线程模型下 ...