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 ----网络编程
网络编程 网络编程需要知道的概念 网络体系结构就是使用这些用不同媒介连接起来的不同设备和网络系统在不同的应用环境下实现互操作性,并满足各种业务需求的一种粘合剂.网络体系结构解决互质性问题彩是分层方法. ...
随机推荐
- Verilog乘法器
乘法器,不能用乘号直接表示,略坑呀 坑归坑,做还是要做的 思路:首先乘法分为有符号乘与无符号乘,所以建立两个module分别运算有符号与无符号.然后在总module中用case语句判断输出应赋的值. ...
- vuex(三)actions
actions:既然mutations只能处理同步函数,我大js全靠‘异步回调’吃饭,怎么能没有异步,于是actions出现了... actions和mutations的区别 1.Acti ...
- docker下的Jenkins安装和体验【转】
原文地址:http://blog.csdn.net/boling_cavalry/article/details/78942408 作为一款优秀的持续集成工具,jenkins在日常的项目中经常会用到, ...
- Hibernate 一对一 (one-to-one)
一对一(one-to-one)实例(Person-IdCard) 一对一的关系在数据库中表示为主外关系.例如.人和身份证的关系.每个人都对应一个身份证号.我们应该两个表.一个是关于人信息的表(Pers ...
- Codeforces 1030D 【构造】
LINK 题目大意:给你n,m,k,让你在一个n*m的点阵里构造出一个面积为\(\frac{n*m}{k}\)的三角形 思路 首先要有一个结论是整点三角形的面积分母最多为2,然后就可以判断不存在的情况 ...
- 让控制台支持 ANSI 转义序列,输出下划线、修改颜色或其他控制
各种操作系统的控制台都支持 ANSI 转义序列(ANSI Escape Code).使用转义序列,可以对控制台进行很多额外的定制,例如修改颜色.修改标题栏,将文字添加下划线等. 当然,.NET 已经帮 ...
- iOS 修改通讯录联系人地址(address)崩溃原因分析
目前项目中需要对iOS系统通讯录进行读取,修改操作.在进行对地址修改的时候,出现了一个奇怪现象: ● 如果contact没有address字段(或者一个全新的contact),对它的address进行 ...
- 《selenium2 python 自动化测试实战》(10)——下拉框和alert
# coding: utf-8 from selenium import webdriverfrom selenium.webdriver.common.action_chains import Ac ...
- 洛谷P1876开灯
题目描述 有n盏灯,一开始全是关闭的.来n个人, 第一个人把一的倍数的灯开着的关上,关上的打开. 第二个人把二的倍数的灯开着的关上,关上的打开. 第三个人把三的倍数的灯开着的关上,关上的打开. ... ...
- c# String.Split数组省去空字符
public static void test() { string txt = "hi[#b1.jpg][#b4.jpg]few[#b1-3.jpg]"; txt = " ...