zoukankan      html  css  js  c++  java
  • python模块知识一 自定义模块、time、datetime时间模块

    第五章 模块

    1.自定义模块:

    1. 模块分类:

      1. 内置模块(标准库)-- python解释器自带的.py文件(模块)
      2. 第三方模块(各种大神写的)-- 需要额外下载(并发编程pypi)
      3. 自定义模块(自己写的)--不用额外下载
    2. 每一个py文件就是一个模块

      import #导入模块

      模块的好处:

      1. 避免些重复代码
      2. 可以多次利用
      3. 拿来主义
    3. 导入模块发生的事情:

      1. 当前的名称空间中开辟一个新空间(test)
      2. 将模块中所有的代码执行
      3. 通过 模块名.函数名 进行查找函数
    4. 使用别名使文件名更短:

    ​ import test as t

    print(locals())#查看当前空间的变量
    i mport test
    print(locals())
    #调用导入模块的函数
    test.func()
    
    #使用别名
    import test as t
    t.func()
    
    1. 不同模块使用同一别名做兼容性
    msg = {1:"扳手",2:"螺丝刀"}
    choose = input(msg)
    if choose == 1:
        import meet as t
    elif choose == 3:
        import test as t
    
    t.func()
    
    1. from :

    ​ from 和import区别:

    ​ import:#将整个模块运行

    ​ 缺点:占用内存大。

    ​ 优点:不会和当前文件定义的变量或者函数发生冲突

    ​ from:

    ​ 缺点:会与当前的文件定义的变量或者函数发生冲突,(可以用别名解决)

    ​ 优点:占用内存小

    1. from * :--拿模块所有

      会出现覆盖现象,不能解决,不建议使用

      __all__ = ["可被导入的函数名和变量名"]#写在模块中配合from * 使用指定要拿的

    name = 'cc'
    def func():
        print('is 666')
    from test import *
    print(name)
    func()
    
    name = "ww"
    from test import name as n#别名
    print(name)
    print(n)
    
    1. 模块导入的坑

      例如:不要三个py文件相互导入,会形成环路

    2. 模块的两种用法:

      脚本:(在cmd中执行 python text.py

      模块:自测函数不会被导入

    def func():
        print(1)
    if __name__ == '__main__':#自测接口
        func()
    
    1. 导入路径:

      1. 相对路径:

        from day15.t1 import meet
        print(meet.name)
        
      2. 绝对路径:

        #错误引用
        from r"D:" import meet
        from ../
        #正确引用
        from sys import path
        print(sys.path)
        path.insert(0,"D:\")
        import meet
        print(meet.name)
        

      sys.path中模块的顺序:自定义 > 内置 > 第三方

    2.time --时间模块

    1. time.time():--时间戳,浮点数,可运算
    2. time.sleep():--睡眠 #秒
    import time
    print(time.time() + 5000)
    time.sleep(3)#睡眠3秒
    
    1. time.strftime("格式化","结构体时间"):将时间戳、结构体时间转换成字符串时间
    2. time.gmtime():--元组形式 命名元组,结构体时间,格林尼治时间
    3. time.localtime():计算机当前时间,结构体时间
    print(time.strftime("%Y-%m-%d %H:%M:%S"))
    
    print(time.gmtime())
    print(time.gmtime()[0])
    print(time.gmtime().tm_year)
    
    #将时间戳转换成字符串时间
    print(time.strftime("%Y-%m-%d %H:%M:%S",time.gmtime(15000)))
    
    1. time.strptiem():将字符串时间转换成结构化时间
    2. time.mktime():将结构化时间转换成时间戳
    print(time.strptime("2024-3-16 12:03:30","%Y-%m-%d %H:%M:%S"))
    
    #将字符串时间转换成时间戳
    print(time.mktime(time.strptime("2024-3-16 12:03:30","%Y-%m-%d %H:%M:%S")))
    print(time.mktime(time.gmtime()))
    

    3.datetime 模块

    ​ 用处:记录日志使用,计算时间

    from datetime import datetime,timedelta
    print(datetime.now())#获取当前时间
    print(type(datetime.now()))#--对象
    
    print(datetime(2019,5,20,13,14,00))#指定日期标准化
    
    print(datetime(2019,5,20,13,14,00) - datetime(2019,5,20,13,14,00))
    
    #将当前时间转换成时间戳
    t = datetime.now()
    print(t.timestamp())
    #将时间戳转换成当前时间
    import time
    print(datetime.fromtimestamp(time.time()))
    print(datetime.fromtimestamp(150000))
    
    #字符串转成对象
    print(type(datetime.strptime("2019-10-10 22:23:24","%Y-%m-%d %H:%M:%S")))
    #将对象转成字符串
    print(str(datetime.now()))
    print(datetime.now().strftime("%Y-%m-%d %H:%M:%S"))
    
    #timedelta 时间运算.加减
    print(datetime.now() + timedelta(hours = 30 * 24 *12))
    
    

  • 相关阅读:
    DVWA 黑客攻防演练(十)反射型 XSS 攻击 Reflected Cross Site Scripting
    DVWA 黑客攻防演练(九) SQL 盲注 SQL Injection (Blind)
    DVWA 黑客攻防演练(八)SQL 注入 SQL Injection
    DVWA 黑客攻防演练(七)Weak Session IDs
    DVWA 黑客攻防演练(六)不安全的验证码 Insecure CAPTCHA
    DVWA 黑客攻防演练(五)文件上传漏洞 File Upload
    工作流表结构设计
    Visual Studio 2019尝鲜----新建空项目体验
    《使用CSLA 2019:CSLA .NET概述》原版和机译文档下载
    .NET快速开发平台的在线预览
  • 原文地址:https://www.cnblogs.com/Onlywang/p/11256040.html
Copyright © 2011-2022 走看看