Python导入模块的语法及常见系统内置模块
导入模块的语法
模块:在Python里一个py文件,就可以理解为以摸块
不是所有的py文件都能作为一个模块来导入
如果想要让一个py文件能够被导入,模块名字必须要遵守命名规则
Python为了方便我们开发,提供了很多内模块
1.使用import模块名直接导入一个模块
import time
2.from 模块名 import 函数名
from random import randint
3.导入这个模块里的"所有方法和变量",使用时不需要再写 模块名.变量 all=[*]from math import *
如果在被导入的模块中没有设置all会读取除了以_开始的所有变量和函数,其中如果一个变量以下划线_开头命名,
是建议只在本模块中使用,别的模块不要导入,使用这种方式无法导入,但是我们可以通过其他方式导入
from 模块名 import *
4.导入一个模块并给这个模块起一个别名
from copy import deepcopy as dp #5. from 模块名 import 函数名 as 别名
import datetime as dt
导入这个模块以后,就可以使用这个模块里的方法和变量
常见系统内置模块
os 全称OperationSystem操作系统,os 模块里提供的方法就是用来用来调用操作系统里的方法
import os
os.name #nt,获取操作系统的名字,Windows系列==> nt 非Windows系统 ==>posix
print(os.name) #nt
print(os.sep) #路径的分隔符 Windows \ 非Windows /
os.path
os.path.abspath('文件名') #获取文件的绝对路径
os.path.isdir('文件') #判断该文件是否是一个文件夹
os.path.isfile('文件') #判断该文件是否是一个文件
os.path.exists('文件名') #判断文件是否存在
os.path.splitext('文件名') #切分文件名的后缀,生成一个文件名和后缀名的元组
ps.getcwd()#获取当前的工作目录,即当前python脚本工作的目录os.chdir('test")#改变当前脚本工作目录,相当于shell下的cd命令os.rename('毕业论文,txt','毕业论文-最终版.txt')#文件重命名os.remove('毕业论文,txt")#删除文件os.rmdir('demo')#删除空文件夹
os.removers('demo')#删除空文件os.mkdir('demo')#创建一个文件夹
os.chdir('C:\1")#切换工作目录os.listdir('C:11')#列出指定月录里的所有文件和文件夹
#os.name nt->widows posix->Linux/Unix s MacOS
#os,environ#获取到环境配置
os.environ.get('PATH')#获取指定的环境配置
sys模块
import sys
print('hello world')
sys.exit() #程序退出,和内置函数exit的功能一致
sys.path #结果是一个列表,表示查找模块的路径
sys.stdin() #接收用户的输入,和input相关
sys.stdout #修改sys.stdout 可以改变错误输出的默认位置
sys.stderr #修改sys.stderr 可以改变错误输出的位置
math 模块
import math
math.factorial(6) #求阶乘
math.floor(12.98) #向下取整
math.ceil(15.001) 向上取整
math.pow(2,10) 1024 幂运算
#round() 内置函数,实现四舍五入到指定位数
math.sin(math.pi/6) #弧度是参数
math.cos(math.pi/3)
math.tan(math.pi/2)
random模块的使用
import random #用来生成一个原函数
random.randint(a,b) 用来生成[a,b]区间内的的随机整数
random.random() 用来生成[0,1)的随机浮点数
random.randrange(2,9) 用来生成[a,b)的随机整数
random.choice() 用来在可迭代对象里随机抽取一个数据
random.sample() 用来在可迭代对象里随机抽取n个数据
datetime模块
datetime模块主要用来显示日期时间,这里主要步及date类,用来显示日期;
time类,用来显示时间;
datetime类,用来显示日期时间;
timedelta类用来计算时间
import datetime
print(datetime.date(2020,1,1))#创建一个日期
print(datetime.time(18,23,45)#创建一个时间
print(datetime.datetime.now()#获取当前的日期时间
print(datetime.datetime.now()+ datetime.timedelta(3))#计算三天以后的日期时间
time模块
除了使用 datetime模块里的time类以外,Python还单独提供了另—个time模块,用来操作时间.
time模块不仅可以用来显示时间,还可以控制程序,让程序暂停(使用 sleep函数)
print(time.time())#获取从1970-01-0100:09:09UTC到现在时间的秒数print(time.strftime("%Y-‰m-%d‰H:‰M:‰5"))#按照指定格式输岀时间print(time.asctime())#Mon Apr 15 20:03:23 2019
print(time.ctime())#Mon Apr 15 20:03:23 2019
calendar模块
calenda模块用来显示一个日历,使用的不多,了解即可.
calendar,setfirstweekday(calendar.SUNDAY)#设置每周起始日期码.周一到周日分别对应9~6
Copy calendar.firstweekday()#返回当前每周起始日期的设置.默认情况下,首次载入ca1endor模块时返回,即星期
c= calendar.calendar(2019)#生成2019年的日历,并且以周日为其实日期码
print(c)#打印2019年日历
print(calendar.is1eap(2000))#True,间年返回True,否则返回Fa1
count=ca1ender.1eapdays(1996,2010)#获取1996年到2010年一共有多少个闰年
print(calendar,month(2819,3)#打印2619年3月的日历
hashlib 和 hmac 模块
这两个模块都是用来进行数据加密的
hashlib 模块里主要支持两个算法 md5 和 sha 加密
加密方式: 单项加密:只有加密的过程,不能解密md5/sha 对称加密 非对称加密
需要将加密的内容加密成为二进制
import hashlib
import hmac
eg:x=hashlib.md5() #生成一个md5对象
x.update('abc',encode('utf8'))
print(x.hexdigest())4
h1 = hashlib sha1(123456. encode())
print(h1. hexdigesto)
h2= hashlib.sha224(123456. encode())
print(h2.hexdigesto)
h3=hashlib.sha256(123456. encode())
print(h3.hexdigesto)
h4= hashlib.sha384(123456. encode())
print(h4.hexdigesto)
#hmg|加密可以指定秘钥
h=hmac,new("h'.encode(),'你好'.encode())
result =h.hexdigesto print(result)#获取加密后的结果
uuid 用来生成一个全局唯一的模块id
import uuid
print(uuid,uuid1())
print(uuid,uuid2())不能用
uuid3和uuid4是使用传入的字符串根据指定的算法算出来的,是固定的
print(uuid,uuid3(uuid.NAMESPACE_DNS,'zhangsan'))#生成固定的uuid
print(uuid,uuid5(uuid.NAMESPACE_DNS,'zhangsan'))#生成固定的uuid
print(uuid.uuid4())#使用的最多
安装第三方模块
pip insta1l< package name>用来下载一个第三方的模块
pip uninsta1l< package_name>用来删除第三方模块
pip install <package_name> -i
eg: pip install flask -i https://pypi.douban.com/simple/
临时修改,只修改这一文件的下载地址
常见国内镜像
https://mirrors.aliyun.com/pypi/simple
https://pypi.mirrors.ustc.edu.cn/simple
https://pypi.douban.ocm/simple
https://pypi.tuna.tsinghua.edu.cn/simple
永久修改默认pip包安装地址:
除了临时修改pip的下载源以外,我们还能永久改变pjp的默认下载路径在当前用户目录下创建一个pip的文件夹,然后再在文件夹里创建pip.ini文件并输入以下内容:
[global]
index-url=https://pypi.douban.xom/simple
[install]
trusted-host=pypi.douban.com
还有一些常见pip命令:
pip list用来列出当前环境安装的模块名和版本号
pip freeze用来列出当前环境安装的模块名和版本号
pip freeze>file_name将安装的模块名和版本号重定向输出到指定的文件
pip insta11-r file_name读取文件里模块名和版本号并安装
使用自定义模块
一个模块本身就是一个py文件
自己定义一个模块,其实就是自己写一个py文件
import 模块名 #如果一个py文件想要当做一个模块被导入,文件名一定要遵守模块命名规则 数字 字母 下划线 不能以数字开头
导入一个模块就能使用模块里的变量
在导入模块时,每次执行当前py文件时,系统会自动执行一遍导入的模块里的代码
name:当直接运行这个py文件的时候,值是main 如果这个py文件作为一个模块导入的时候,值是文件名
可以通过以下方式来进行解决这个问题:
def division(a,b):
return a/b
if __name__=='__main__':
print('demo里的name是:',__name__)
print('测试一下division函数,结果是:',division(4,2)
包的使用:
from 包名 import 模块名或变量名或函数名
很少写包,大多是用别人写好的包文件

浙公网安备 33010602011771号