欢迎光临散文网 会员登陆 & 注册

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

2022-05-01 19:19 作者:oeasy  | 我要投稿

输出时间

回忆上次内容

  • print函数

    • 意味着输出后不自动换行

    • 同时不输出任何结束符

    • 我可以手动在输出字符串的末尾加上换行符(\n)

    • end参数 的默认值是 \n

    • end 的值可以是任意字符串

    • end 的值会输出到结尾位置

    • 有个默认的参数 end

    • 如果end是空串(end="")

    • 这样的话

      • 我不但可以输出结尾换不换行

      • 还能控制具体在哪里换行

    • 我想输出点别的,比如说当前时间?🤔

    搜索信息

    • 百度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 都不用导入

      • 直接就能用呢?

    内置函数

    • 第一句就明确了

      • built-ins么?!

      • print 是 builtins 这个包(module) 的 function(内置函数)

      • builtins 这个包(module) 本来就是内置的包

      • 内置就是本来就搁在里面了

      • 什么都不用导入就能用的里面的函数

      • 我们已经学过哪些内置函数了呢?

    • 不要翻页,全都自己列出来

    内置函数列表

    • 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时间戳)

      • seconds since the Epoch

      • 从1970年1月1日开始的

      • 也就是1970-01-01T00:00:00Z

      • 格林威治时间 1970 年 1 月 1 日 00:00:00

      • 每过一秒这个数字就加1

      • 每过半秒这个数字就加0.5

      • 所以Epoch也叫做

    • 为什么是1970-01-01呢?

      • 第一版unix的正式发布是在1971年

      • 编写c和unix工作是从1969年开始实施的

      • 大概率是Kenneth ThompsonDennis 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

      • 得到时间日期字符串

      • asc为ascii

      • 得到本地时间元组

      • local为本地

      • 得到当前时间戳

      • import 他可以做和时间相关的事情

      • time.time()

      • time.localtime()

      • time.asctime()

      • 完整写法为

        • asc_time = time.asctime( time.localtime( time.time()))

      • 可以简写为

        • time.asctime()

        • asctime 是 time 这个 module 里面的函数

        • 是外部函数

      • 内部函数是系统自带的

        • 比如 quit()

      • 现在想要自动刷新时间,怎么办?🤔

      • 我们下次再说!*


      oeasy教您玩转python - 011 - # 输出时间的评论 (共 条)

      分享到微博请遵守国家法律