神奇语言 python 模块一

在前面的几个章节中我们脚本上是用 python 解释器来编程,如果你从 Python 解释器退出再进入,那么你定义的所有的方法和变量就都消失了。

为此 Python 提供了一个办法,把这些定义存放在文件中,为一些脚本或者交互式的解释器实例使用,这个文件被称为模块。

模块是一个包含所有你定义的函数和变量的文件,其后缀名是.py。模块可以被别的程序引入,以使用该模块中的函数等功能。这也是使用 python 标准库的方法。

自定义模块:

为什么要使用模块?

1、从文件级别组织程序,更方便管理
随着程序的发展,功能越来越多,为了方便管理,我们通常将程序分成一个个的文件,这样做程序的结构更清晰,方便管理。这时我们不仅仅可以把这些文件当做脚本去执行,还可以把他们当做模块来导入到其他的模块中,实现了功能的重复利用

2、拿来主义,提升开发效率
同样的原理,我们也可以下载别人写好的模块然后导入到自己的项目中使用,这种拿来主义,可以极大地提升我们的开发效率,避免重复造轮子。

ps:
如果你退出python解释器然后重新进入,那么你之前定义的函数或者变量都将丢失,因此我们通常将程序写到文件中以便永久保存下来,需要时就通过python meet.py方式去执行,此时meet.py被称为脚本script。

1 import 翻译过来是一个导入的意思

代码示列
import meet
import meet
import meet
import meet
import meet

执行结果: 只打印一次
from the meet.py
import :
(1)模块名 把这个模块下所有东西全部导入
(2)多个模块名 不建意写在一行
(3) 模块名 as 起个小名
importtttt.py as f 
f.read1()

(4)模块名多次导入的时候 实际只导入一次
import os,sys,json   这样写可以但是不推荐
推荐写法

import os
import sys
import json
(5)导入过来的功能都需要使用模块点的方法去执行
2 from:翻译
from 模块名 import 指定导入内容
from 模块名 import 多个功能
form 导入多个模块的时候要一行一行的导入
from 模块 import* 不建议使用
from 模块 import 功能1as 小名功能2 as 起个小名
 from导入的时候,一行导入多个内容

from meet import read1,read2,name

3 from import 与 import对比
from .....import...
好处 :使用起来方便
坏处:容易与当前文件中执行的名字起冲突

4 time模块
time : 翻译过来就是时间的意思
常用访法
1.time.sleep(secs) 推迟指定时间运行 单位为秒
time.time 获取当前时间戳

(1)时间戳: 通常来说,时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量。我们运行“type(time.time())”,返回的是float类型

(2).格式化字符串时间: 格式化的时间字符串(Format String): ‘1999-12-06’

python中时间日期格式化符号:
%y 两位数的年份表示(00-99%Y 四位数的年份表示(000-9999%m 月份(01-12%d 月内中的一天(0-31%H 24小时制小时数(0-23%I 12小时制小时数(01-12%M 分钟数(00=59%S 秒(00-59%a 本地简化星期名称
%A 本地完整星期名称
%b 本地简化的月份名称
%B 本地完整的月份名称
%c 本地相应的日期表示和时间表示
%j 年内的一天(001-366%p 本地A.M.或P.M.的等价符
%U 一年中的星期数(00-53)星期天为星期的开始
%w 星期(0-6),星期天为星期的开始
%W 一年中的星期数(00-53)星期一为星期的开始
%x 本地相应的日期表示
%X 本地相应的时间表示
%Z 当前时区的名称
%% %号本身

(3).结构化时间:元组(struct_time) struct_time元组共有9个元素共九个元素:(年,月,日,时,分,秒,一年中第几周,一年中第几天等)

img



把时间戳转化成字符串时间:
print(time.strftime("%Y-%m-%d %H:%M:%S",time.localtime()))
首先转换成结构时间 ,然后在转换成字符串时间
print(time.strftime("%Y-%m-%d",time.localtime()))
自己指定要转换的时间

print(time.strftime("2019-1-15","%Y-%m-%d %H:%M"))
# 第一个参数是字符串的时间,要输入格式
t=time.strftime("2019-1-15","%Y-%m-%d %H:%M")
print(time.mktime(t))
mktime 把一个结构化转成一个时间戳
结构化时间
把时间戳转化成结构时间
print(time.gmtime()) #英国伦敦 gmtime (时间戳不写使用默认使用当前的时间)
print(time.localtime())# 本地计算机时间本地时间localtime(时间戳不写使用默认使用当前的时间)
(5)datetime
获取当前日期和时间
from datetime import datetime

print(datetime.now())

'''
结果:2018-12-04 21:07:48.734886
'''
datetime.now()获取当前时间
 print(datetime.fromtimestamp(time.time()))  # 将时间戳转换成时间类型

print(datetime.strptime('2018-10-1 13:14','%Y-%m-%d %H:%M'))  # 字符串转换成一个时间类型

datetime.now()
s = datetime.strftime(datetime.now(),'%Y-%m-%d %H:%M:%S')  # 把一个时间类型转换成字符串

(6)

timedelta 修改的时间
print(datetime.now() + timedelta(hours=1))
print(datetime.now() + timedelta(days=1))

t = datetime.now() + timedelta(weeks=3)
print(t - timedelta(days=2,hours=13))
 




原文地址:https://www.cnblogs.com/zhangguangpei/p/10272479.html