第五章 模块

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))

python模块知识一 自定义模块、time、datetime时间模块的更多相关文章

  1. 第三十二节,datetime时间模块

    首先要引入import datetime时间模块 datetime.date.today()模块函数 功能:输出系统年月日输出格式 2016-01-26[无参] 使用方法:datetime.date. ...

  2. day5模块学习 -- time、datetime时间模块

    1.定义 模块:用来从逻辑上组织python(变量,函数,类,逻辑:实现一个功能)代码,本质就是.py结尾的python文件(文件名:test.py,对应的模块名test) 包:用来从逻辑上组织模块的 ...

  3. python--模块之time,datetime时间模块

    time: 表示时间的三种方式:时间戳.格式化的时间字符串.元组时间戳是计算机能够识别的时间:时间字符串是我们能够看懂的时间:元组是用来操作时间: 导入时间模块import time 1,时间戳(ti ...

  4. python基础知识13-迭代器与生成器,导入模块

    异常处理作业讲解 file = open('/home/pyvip/aaa.txt','w+') try: my_dict = {'name':'adb'} file.write(my_dict['a ...

  5. 1.19 Python基础知识 - 软件目录开发规范及不同模块之间的调用

    一个软件项目的开发,除了需要很厉害的开发能力,同时在软件开发项目时,也需要对项目结构有良好的组织能力,将功能进行拆分,不同的功能放在不同的目录或文件中,方便日后的维护,升级等操作.比如核心代码的目录, ...

  6. (6)time&datetime(时间模块)

    什么是时间模块 就是处理时间相关的功能 如用户注册的时间.统计程序运行的时间等 time 模块  计算机中有三种时间 1.时间戳 从1970年到今天,这个时间段中间经历的秒数 获取时间戳:time.t ...

  7. 模块讲解----time与date time(时间模块)

    time和datetime 在python中,通常有一下几种方式来表示时间:1.时间戳:2.格式化时间字符串:3.元祖(struct_time):其中元祖(struct_time分为九个元素) UTC ...

  8. python将str类型的数据变成datetime时间类型数据

    如下: import datetime date_str = '2019_05_09' date_date = datetime.date(*map(int, date_str.split('_')) ...

  9. python常用标准库(时间模块 time和datetime)

    常用的标准库 time时间模块 import time time -- 获取本地时间戳 时间戳又被称之为是Unix时间戳,原本是在Unix系统中的计时工具. 它的含义是从1970年1月1日(UTC/G ...

随机推荐

  1. SYN4102型 GPS同步时钟

    SYN4102型  GPS同步时钟 产品概述 SYN4102型GPS同步时钟是由西安同步电子科技有限公司精心设计.自行研发生产的一款高精度锁相时钟频率源,接收GPS信号,使恒温晶振输出频率同步于GPS ...

  2. 【转】php7对redis的扩展及redis主从搭建

    一:redis安装     1:下载并安装 cd /home/software wget http://download.redis.io/releases/redis-3.2.3.tar.gz ta ...

  3. GStreamer基础教程03 - 媒体类型与Pad

    摘要 在上一篇文章中,我们介绍了如何将多个element连接起来构造一个pipline,进行数据传输.那么GStreamer是通过何种方式保证element之间能正常的进行数据传输?今天就将介绍GSt ...

  4. Unity Shader 菲涅尔环境反射

    菲涅尔反射描述了一种光学现象,当光照到物体表面时,一部分发生反射,另一部分则进入物体内部,发生折射或散射:相比直接的反射和折射计算,菲涅尔反射更接近真实情况. 可用下面的等式近似计算这种反射效果: F ...

  5. SpringBoot启动访问JSP页面,直接进入页面或者访问不到,报404,并且加载tomcat插件tomcat-embed-jasper也不行

    这个问题花费了两天的时间,解决路径: 我用的是SpringBoot1.5.2,SpringMVC和Spring,tomcat启动插件都是默认的版本,Spring是4.3.7,jdk是1.7.0_80, ...

  6. MxNet 模型转Tensorflow pb模型

    用mmdnn实现模型转换 参考链接:https://www.twblogs.net/a/5ca4cadbbd9eee5b1a0713af 安装mmdnn pip install mmdnn 准备好mx ...

  7. [hdu-6395]Sequence 分块+矩阵快速幂

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6395 因为题目数据范围太大,又存在递推关系,用矩阵快速幂来加快递推. 每一项递推时  加的下取整的数随 ...

  8. C++ hdu 例题:不要62 题解

    例题:不要62 同步数位DP 需要统计区间[l,r]的满足题意的数的个数,这往往可以转换成求[0,r]-[0,l) 基本思想与方法 有了上述性质,我们就可以从高到低枚举第一次<n对应位是哪一位. ...

  9. 微信支付重复回调,java微信支付回调问题

    这几天一直在研究微信支付回调这个问题,发现之前微信支付回调都是正常的也没怎么在意,今天在自己项目上测试的时候发现相同的代码在我这个项目上微信支付回调老是重复执行导致支付成功之后的回调逻辑一直在执行,很 ...

  10. POJ 2455:Secret Milking Machine(二分+最大流)

    http://poj.org/problem?id=2455 题意:给出n个点和m条无向路,每条路都有一个长度.从1点到n点要走t次两两互不重合的路.求出每条1->n的路中相邻两点最大值的最小值 ...