百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术资源 > 正文

oeasy教您玩转python - 011 - # 输出时间

off999 2024-09-29 15:59 19 浏览 0 评论

输出时间

回忆上次内容

  • print函数 有个默认的参数 end end参数 的默认值是 \n end 的值可以是任意字符串 end 的值会输出到结尾位置 如果end是空串(end="") 意味着输出后不自动换行 同时不输出任何结束符 我可以手动在输出字符串的末尾加上换行符(\n)
  • 这样的话 我不但可以输出结尾换不换行 还能控制具体在哪里换行
  • 我想输出点别的,比如说当前时间?

搜索信息

  • 百度python3 输出时间

抄写代码

  • #号 后面的都是注释 可以忽略的
  • 第一句是import time import 是嘛意思来着? 搜索一下
  • 先进 help()帮助模式
  • 然后搜索 import

查找帮助

  • 在 python3 解释器环境查找帮助
  • import 是导入一个 module 模块包 port是港口 import 原意是导入、进口 export 是导出、出口 感觉和航海历史有关
  • 导入的东西是模块(modules) 那什么又是模块(modules)

modules 是啥?

  • time 是一个模块(module)的名称
  • 我们可以 help()进入帮助模式 在帮助模式下输入 modules

modules

  • 查看所有的 modules
  • python 之所以强大就是因为各种 模块(modules) 好用 各种模块有统一的统一的包管理器 直接import就可以调用库的接口 所有dirty的东西都被藏在了背后 啥都不用想
  • 直接按照例程打上 一运行就跑起来了 比如我们这次要用到的 time.time() 确实可以在modules找到 如下图
  • 这个time怎么用呢?

啥是 time

  • import 就是导入
  • time 就是导入的 module 的名字 导入了的module才能用 不导入的module不能用
  • time包导进来了
  • 如何调用函数方法呢?

函数调用

  • time.time() 就是调用time这个module里面的time()这个函数方法 可以输出当前时间
  • 前提是导入了time这个包 导入了time这个module之后 才可以使用time.time()这个方法得到时间戳
  • 为什么以前我们用的 print() 这个函数方法 啥 module 都不用导入 直接就能用呢?

内置函数

  • 第一句就明确了 print 是 builtins 这个包(module) 的 function(内置函数) builtins 这个包(module) 本来就是内置的包 built-ins么?! 内置就是本来就搁在里面了 什么都不用导入就能用的里面的函数 我们已经学过哪些内置函数了呢?
  • 不要翻页,全都自己列出来

内置函数列表

  • help()
  • int()
  • chr()
  • bin()
  • hex()
  • ord()
  • print()
  • 这些都是内置的函数
  • 不需要import任何 包(module)
  • 直接就能用的
  • 好像还遗漏了一个函数,是哪个?

time 怎么用

  • 我们先查询官方帮助
  • 没有发现可行的例子
  • 我们回过头去网页找例程
  • 就在例程基础上照猫画虎

照猫画虎

#引入一个包叫time
import time
#得到当前时间的asctime形式字符串
ascii_time = time.asctime(time.localtime(time.time()))
#进行输出
print ("本地时间为 :", ascii_time)
  • 这个语句有点复杂
  • 一点点打,别打错了 这是很好的最初锻炼 也是锻炼自信的方法
  • 也可以复制到剪贴板,粘贴过去 这是堕落的开始 最初的省事儿 会让你感到失控 不像自己一个个打出来的那么踏实 错误也是一种锻炼 都熟悉之后再复制粘贴 不要上来就图省事儿

嵌套的函数

  • 这个一大串东西是有规律的
  • 首先什么是 time
  • time 是一个 module 模块包 处理时间的包 包里有各种函数 time.time() time.localtime() time.asctime()
  • 例子是一行写成的
  • 使用了函数嵌套调用 我们试试把函数嵌套调用拆开 不用嵌套 分开写

分开写

  • 函数嵌套调用 首先通过调用 time.time()函数 得到了ticks 然后通过调用 localtime(ticks)函数 得到了localtime 最后通过调用 asctime(localtime) 得到了asctime
  • 那么这些函数 time localtime asctime 都是什么意思
  • 分别help一下

time.time()

  • help(time.time)
  • 这里有两个time有点乱
  • 我们区分一下颜色 前面的是红色的 time 后面的是绿色的 time()
  • time.time() 引入 time 这个包 从time 包里调用 time() 这个函数 圆括号说明 time() 是函数 这个 time() 函数 就是 time 包里面的函数
  • 那么这个time.time()到底返回什么值呢?
  • 调用一下看看
  • 这一串长长的数字应该如何理解

time.time()的意义

  • 我们还是得返回来看帮助文件
  • 这个东西返回的是一个浮点型的数字
  • 是从Epoch到当前的时间总共过了多少秒
  • 那什么又是Epoch呢?

Epoch

  • 发音是[?ep?k]
  • Epoch 的意思是纪年方法或者说是年号 比如今年按照日本纪年法是令和四年 公元1587年是明朝万历十五年 那python中的Epoch年号又是什么年号呢?
  • unix纪年法(unix时间戳) 从1970年1月1日开始的 也就是1970-01-01T00:00:00Z 格林威治时间 1970 年 1 月 1 日 00:00:00 每过一秒这个数字就加1 每过半秒这个数字就加0.5 所以Epoch也叫做 seconds since the Epoch
  • 为什么是1970-01-01呢? 第一版unix的正式发布是在1971年 编写c和unix工作是从1969年开始实施的 大概率是Kenneth Thompson和Dennis Ritchie 在1970年初一拍脑门定下来了这个起始时间点
  • 最关键的是 这个关于秒数的数据类型time_t也已然在后来成了标准c库的一部分 因此被广泛运用在各种 类unix(Unix-like)的软件系统中 比如我们用到的这个debian的变种ubuntu
  • 所以 Epoch 也叫做 Unix Time Posix Time UNIX Epoch Time
  • time.time()得到的是一个浮点数 但是我们要的是年份、月份、日期、时分秒这些具体的信息 考虑到从闰年到闰秒的一系列难题
  • 这个转化太麻烦了 有什么办法么?

time.localtime()

  • time.time()出来的浮点秒数交给 time.localtime()处理 time 还是包名 这次的函数名变成了 localtime() 输入是unix时间戳 输出本地时间元组 年份、月份、日期、时分秒这些具体的信息
  • 如果localtime函数的参数缺省 默认使用time.time()作为参数
  • 对的 time.time()就是当前时间的unix时间戳

time.asctime()

  • time.asctime 函数 输入为time.localtime()输出的时间元组作为 输出为一个字符串
  • asctime函数 接收时间元组产生 ascii 字符串 ascii 就是 ascii编码 asctime 就是 用ascii方式显示的 time
  • 如果asctime函数的参数缺省 默认使用time.localtime()作为参数
  • 对的 time.localtime()就是当前时间的时间元组

最后输出

  • 我们都使用默认参数 把函数嵌套大大简化了
  • 把最后的结果交给 print() 最终就能得到当前的时间!
  • 我可以让时间刷新么?

手动延迟

  • 我想要刷新这个东西怎么办? 需要重新得到 asc_time 然后重新输出 asc_time
  • 这个过程可以手动来完成
  • 我想让他自动刷新起来 先去编写一个py程序

编写程序

  • 运行结果

总结

  • 通过搜索 我们学会 import 导入 time 了
  • time 是一个 module import 他可以做和时间相关的事情 time.time() 得到当前时间戳 time.localtime() 得到本地时间元组 local为本地 time.asctime() 得到时间日期字符串 asc为ascii
  • 完整写法为 asc_time = time.asctime( time.localtime( time.time()))
  • 可以简写为 time.asctime() asctime 是 time 这个 module 里面的函数 是外部函数
  • 内部函数是系统自带的 比如 quit()
  • 现在想要自动刷新时间,怎么办?
  • 我们下次再说!

相关推荐

面试官:来,讲一下枚举类型在开发时中实际应用场景!

一.基本介绍枚举是JDK1.5新增的数据类型,使用枚举我们可以很好的描述一些特定的业务场景,比如一年中的春、夏、秋、冬,还有每周的周一到周天,还有各种颜色,以及可以用它来描述一些状态信息,比如错...

一日一技:11个基本Python技巧和窍门

1.两个数字的交换.x,y=10,20print(x,y)x,y=y,xprint(x,y)输出:102020102.Python字符串取反a="Ge...

Python Enum 技巧,让代码更简洁、更安全、更易维护

如果你是一名Python开发人员,你很可能使用过enum.Enum来创建可读性和可维护性代码。今天发现一个强大的技巧,可以让Enum的境界更进一层,这个技巧不仅能提高可读性,还能以最小的代价增...

Python元组编程指导教程(python元组的概念)

1.元组基础概念1.1什么是元组元组(Tuple)是Python中一种不可变的序列类型,用于存储多个有序的元素。元组与列表(list)类似,但元组一旦创建就不能修改(不可变),这使得元组在某些场景...

你可能不知道的实用 Python 功能(python有哪些用)

1.超越文件处理的内容管理器大多数开发人员都熟悉使用with语句进行文件操作:withopen('file.txt','r')asfile:co...

Python 2至3.13新特性总结(python 3.10新特性)

以下是Python2到Python3.13的主要新特性总结,按版本分类整理:Python2到Python3的重大变化Python3是一个不向后兼容的版本,主要改进包括:pri...

Python中for循环访问索引值的方法

技术背景在Python编程中,我们经常需要在循环中访问元素的索引值。例如,在处理列表、元组等可迭代对象时,除了要获取元素本身,还需要知道元素的位置。Python提供了多种方式来实现这一需求,下面将详细...

Python enumerate核心应用解析:索引遍历的高效实践方案

喜欢的条友记得关注、点赞、转发、收藏,你们的支持就是我最大的动力源泉。根据GitHub代码分析统计,使用enumerate替代range(len())写法可减少38%的索引错误概率。本文通过12个生产...

Python入门到脱坑经典案例—列表去重

列表去重是Python编程中常见的操作,下面我将介绍多种实现列表去重的方法,从基础到进阶,帮助初学者全面掌握这一技能。方法一:使用集合(set)去重(最简单)pythondefremove_dupl...

Python枚举类工程实践:常量管理的标准化解决方案

本文通过7个生产案例,系统解析枚举类在工程实践中的应用,覆盖状态管理、配置选项、错误代码等场景,适用于Web服务开发、自动化测试及系统集成领域。一、基础概念与语法演进1.1传统常量与枚举类对比#传...

让Python枚举更强大!教你玩转Enum扩展

为什么你需要关注Enum?在日常开发中,你是否经常遇到这样的代码?ifstatus==1:print("开始处理")elifstatus==2:pri...

Python枚举(Enum)技巧,你值得了解

枚举(Enum)提供了更清晰、结构化的方式来定义常量。通过为枚举添加行为、自动分配值和存储额外数据,可以提升代码的可读性、可维护性,并与数据库结合使用时,使用字符串代替数字能简化调试和查询。Pytho...

78行Python代码帮你复现微信撤回消息!

来源:悟空智能科技本文约700字,建议阅读5分钟。本文基于python的微信开源库itchat,教你如何收集私聊撤回的信息。[导读]Python曾经对我说:"时日不多,赶紧用Python"。于是看...

登录人人都是产品经理即可获得以下权益

文章介绍如何利用Cursor自动开发Playwright网页自动化脚本,实现从选题、写文、生图的全流程自动化,并将其打包成API供工作流调用,提高工作效率。虽然我前面文章介绍了很多AI工作流,但它们...

Python常用小知识-第二弹(python常用方法总结)

一、Python中使用JsonPath提取字典中的值JsonPath是解析Json字符串用的,如果有一个多层嵌套的复杂字典,想要根据key和下标来批量提取value,这是比较困难的,使用jsonpat...

取消回复欢迎 发表评论: