码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Note——time


    time

    请添加图片描述
    请添加图片描述

    import

    import datetime
    import time
    
    • 1
    • 2

    Definition of time

    1. from 1970-01-01 00:00:00 UTC
      Coordinated Universal Time

    as the float format of ‘seconds’

    For example

    在这里插入图片描述

    1. use structured time lists
      [ year,month,day,hours,minutes,seconds…]
      表示从1970-01-01 00:00:00 UTC,开始到现在所经历的时间.
      在这里插入图片描述
    time.struct_time(tm_year=2018, tm_mon=1, tm_mday=31, tm_hour=1, tm_min=37, 
    tm_sec=36, tm_wday=2, tm_yday=31, tm_isdst=0)
    
    • 1
    • 2

    Function of time

    time.clock()

    返回程序运行的整个时间段中中CPU运行的时间

    def cpu_run():
        start = time.clock()
        for i in range(1000):
            j = i * 2 
            for k in range(j):
                t = k
                print(t)
        end = time.clock()
        print('CPU excution takes: ',end - start, 'seconds')
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    在这里插入图片描述

    python3.8就不再支持 time.clock() 了

    If python > 3.8
    用 time.perf_counter() 替换

    def cpu_run():
        start = time.perf_counter()
        for i in range(1000):
            j = i * 2 
            for k in range(j):
                t = k
                print(t)
        end = time.perf_counter()
        print('CPU excution takes: ',end - start, 'seconds')
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    在这里插入图片描述

    time.sleep()

    爬虫中常用,让程序暂停执行指定的秒数
    time.sleep(2)

    time.localtime()

    用结构化的时间组,表示本地时间
    在这里插入图片描述

    time.ctime()

    用字符串string表示时间
    在这里插入图片描述

    time.mktime()

    将本地时间列表转化为浮点数的秒来表示
    在这里插入图片描述

    time.strftime()

    将时间组时间转化为指定格式的String类
    在这里插入图片描述

    time.strptime

    将String类时间转化为时间组格式
    在这里插入图片描述

    time.tzset()

    更改本地时区

    Applicaiton

    用time来计算一下程序执行所耗时间

    def run():
        start = time.time()
        for i in range(1000):
            j = i * 2 
            for k in range(j):
                t = k
                print(t)
        end = time.time()
        print('This program excution takes: ',end - start, 'seconds')
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    在这里插入图片描述

    Optimize

    start = time.perf_counter()
        for i in range(1000):
            j = i * 2 
            for k in range(j):
                t = k
                print(t)
        end = time.perf_counter()
        print('CPU excution takes: ',end - start, 'seconds')
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    此段代码CPU执行时间大概5秒

    那么问题来了:
    CPU真的执行了这么长时间么?
    会不会有什么东西是我没考虑进去的呢?

    仔细看一下,这段程序主要内容就是两个for循环,for循环执行计算的时候CPU肯定是在运行的
    那么print()函数打印期间这个时间段的CPU执行时间有没有算进去?

    带着疑问,我们进行第三次测试,此次我们去掉print(),直接让CPU完成整个for循环的计算:
    在这里插入图片描述

    因为去掉了print(),所以只剩下了完整的for循环,CPU可以连续执行
    不必一遍for循环一边print()来回切换
    连续执行的CPU还是很快的~

    所以 ,以后写代码时,要精简不必要的开销,譬如经常使用print()

  • 相关阅读:
    【Spring】IoC容器 控制反转 与 DI依赖注入 XML实现版本 第二期
    深入探究 npm cache 命令:用途与实践指南
    python使用NiBabel包加载.nii文件、使用opencv加载jpg原图图像并转化为灰度图、最后比较原图和mask掩码图的形状是否一致
    测试环境要多少,从现实需求说起
    MSDC 4.3 接口规范(15)
    微信小游戏adapter对document和windows 支持不足的错误
    [⑥5G NR]: 无线接口协议,信道映射学习
    前端中的单元格合并
    第七章:最新版零基础学习 PYTHON 教程—Python 列表(第一节 -Python 列表及示例)
    Opencv 基本操作四 指针数组、vector与Mat之间的相互转换
  • 原文地址:https://blog.csdn.net/weixin_45646640/article/details/133942667
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号