第五章 模块

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. ZooKeeper学习第二期--ZooKeeper安装配置(转)

    转载来源:https://www.cnblogs.com/sunddenly/p/4018459.html 一.Zookeeper的搭建方式 Zookeeper安装方式有三种,单机模式和集群模式以及伪 ...

  2. Python基础,day1

    一. Python介绍 目前Python主要应用领域: 云计算: 云计算最火的语言, 典型应用OpenStack WEB开发: 众多优秀的WEB框架,众多大型网站均为Python开发,Youtube, ...

  3. Application生命周期(一)

    1.Application是什么? Application和Activity,Service一样,是android框架的一个系统组件,当android程序启动时系统会创建一个 application对 ...

  4. 如何使用jQuery可以让滚轮滚到底部可以自动加载所需内容

    话不多说先上代码 $(window).scroll(function() {   var scrollTop = $(this).scrollTop(); //滚动高度  var windowHeig ...

  5. CSS3文本与字体

    一.CSS3 换行 1.word-break(规定自动换行的处理方法) word-break: normal / break-all / keep-all; /* normal:使用浏览器默认的换行规 ...

  6. 曹工说Tomcat4:利用 Digester 手撸一个轻量的 Spring IOC容器

    一.前言 一共8个类,撸一个IOC容器.当然,我们是很轻量级的,但能够满足基本需求.想想典型的 Spring 项目,是不是就是各种Service/DAO/Controller,大家互相注入,就组装成了 ...

  7. Fabric1.4源码解析:链码实例化过程

    之前说完了链码的安装过程,接下来说一下链码的实例化过程好了,再然后是链码的调用过程.其实这几个过程内容已经很相似了,都是涉及到Proposal,不过整体流程还是要说一下的. 同样,切入点仍然是fabr ...

  8. HDU 4763:Theme Section(KMP)

    http://acm.hdu.edu.cn/showproblem.php?pid=4763 Theme Section Problem Description   It's time for mus ...

  9. 安装Eclipse for MAC 苹果版

    1. 安装Eclipse for MAC 苹果版 2. Thank you for downloading Eclipse If the download doesn't start in a few ...

  10. java中session和application的用法

    Session的用法 首先创建2个jsp文件t1.jsp  t2.jsp 在t1.jsp <% //设置session的键与值 session.setAttribute("abc&qu ...