**模块
什么是模块,模块就是所有的以.py后缀结尾的文件都是模块。我们可以在模块中定义好函数、变量、类、数据等内容。
模块可以被别的程序引入,以使用该模块中的函数功能。
1.使用模块:
当我们在一个.py文件中想调用模块实现功能时,需要用import或者form…import导入相关的模块(一个模块只会被导入一次,不管执行多少次import)
在模块被调用执行后会自动被Python解释器编译成二进制文件,用于对模块加速执行。
在 pycache 目录下创建 模块名.cpython-版本.pyc
语法格式: import 模块名(例如我们想调用os模块)如下代码所示
import os
from…import语句格式:
from 模块名 import 函数名(可以是变量或类名)
from 模块名 import 函数名 as 别名
from 模块名 import* #吧一个模块的所有内容全导入
#在模块里面 ‘as’用于起别名‘*’代表引用所有。
**内置模块
sys:用于设置或获取Python解释器的信息
显示Python包和模块的所在路径用sys内置模块的path
格式为:sys.path
获取脚本外部的参数用argv
格式为:sys.argv
结束程序为sys.exit()括号里为需要结束程序的名字
更多的功能可以通过pring(dir(sys))查询
os:用于调用操作系统的功能
执行系统命令:os.system("")
对目录进行操作:os.makedirs(“a\b\c\d”)
#包:用于存放模块的文件夹,将有关联的或者统一种类型的模块放在同一文件夹,包里面必须包含_ _init.py__文件(用于对包做初始化,定义默认的设置)
**第三方模块
我们需要使用第三方模块时可以用pip命令自动下载并安装第三方模块:pip install 包名(模块名)【需要知道模块的名字】
如我们下载安装一个mysql的模块包:
pip install pymysql
随机数模块(random)
随机一个整数用randint方法(这个方法取的随机数包含开头的结尾的),如下:
import random
print(random.randint(1,43))
随机一个小数用random 随机数在0~1之间,如下:
import random
print(random.random())
随机一个范围用randrange(开始值,结束值,步长值)在0-9之间【这个方法取得数只包含头不包含尾】,如下:
import random
print(random.randrange(0,10,2))
随机一个元素用choice方法,如下:
import random
print(random.choice('"a1","b2","c3","d4"'))
用随机数的方法可以进行获取一些随机验证码的功能,如下例子:获取一个6位数的数字和字母随机验证码
def verification_code(n):
code = ""
for i in range(n):
num = random.randint(0,9)
if i % 2 == 0:
code += chr(random.randint(65,90))
else:
code += str(random.randint(0,9))
return code
print(verification_csode(6))
时间模块(time)
1.时间戳(1970-01-01 00:00:00 (格林威治时间0时区) 秒数 )
print(time.time())可以获取从格林威治时间到输出代码时目前的时间
时间戳的优点是方便计算存储,缺点是不方便人直接查看 因为输出的数是以秒数显示
2.时间元组
print(time.localtime())可以分别显示出当前时间的年月日一直到毫秒
时间元组优点方便调用,缺点没用格式,也不方便人们直接查看
3.格式化时间字符串(需要具体的时间的格式)如下例子:
print(time.strftime("%d/%m/%Y %H:%M:%S"))【方便查看】
三种时间方法可以进行相互转换:时间戳<->时间元组<->时间字符串
不能从时间戳直接转换到时间字符串
1.时间戳转换为时间元组方法:
import time
print(time.gmtime(72047023)) #gmtime方法转换的是国际标准时间
print(time.localtime(72047023)) #localtime方法转换的是本地的北京时间
2.时间元组转换为时间字符串方法:
import time
print(time.strftime("%Y-%m-%d %H:%M:%S",time.gmtime(0)))
print(time.strftime("%Y-%m-%d %H:%M:%S",time.localtime(0)))
3.时间字符串转换为时间元组
import time
print(time.strptime("2020-11-15 12:30:29","%Y-%m-%d %H:%M:%S"))
4.时间元组转换为时间戳
import time
timeA = time.localtime(time.time())
timeS = time.mktime(timeA)
print(timeS)