python课程回顾复习记录简要8

  • Post author:
  • Post category:python



导入及使用模块


1.import

在python中,可以使用import关键字来导入某个模

import 模块

在调用该导入模块中的函数时,使用如下


模块名.函数名

#导入数学模块
import math
#圆周率
a=math.pi
#返回上入整数
b=math.ceil(7.1)
#返回下舍整数
c=math.floor(7.9)
print(a)
print(b)
print(c)

在这里插入图片描述

2.

from…import…


只需要使用模块中的某个函数,就可以只引入该函数即可,使用函数时直接:

函数名1()


上边你的例子可以写成

#导入数学模块
from math imoport pi,ceil,floor
#圆周率
a=pi
#返回上入整数
b=ceil(7.1)
#返回下舍整数
c=floor(7.9)
print(a)
print(b)
print(c)

在这里插入图片描述

3.from…import *

从模块中导入所有函数,一次性加载该模块所有内容,不建议过多使用


定位模块


当导入一个模块后,python解释器对该模块所在的具体位置的搜索顺序应该是:

(1)当前 Python 文件所在的目录下;

(2)若不在当前目录下,则会搜索环境变量 PATH 下的每个目录下是否存在该模块(3)若在上述两种方式都未找到,Python 解释器会查看默认路径(安装的 Python 解释器的路径)。在 UNIX及类 UNIX 操作系统下,默认路径一般为/usr/local/lib/python/;

(4)除了上述所有方式外,模块搜索路径通常存储在 system 模块(sys)的 sys.path 变量中。该变量里包含当前目录、PATH 和由安装过程决定的默认目录等。

import sys
print(sys.path)

查看所有内置模块

import sys
#查看所有内置模块信息
sys.modules.keys()


制作模块


上述中已经学会导入并使用python给开发者提供的模块,若想要使用自定义的模块,就需要先定义模块,在去调用使用它。

首先在py文件同文件夹下创建一个.py文件—–util文件

#coding:utf-8
#求和
def get_sum(a,b):
    return a+b

#求积
def get_multiply(m,n):
    return m*n

#调用
if __name__ == "__main__":
    print("util模块中测试调用:",get_sum(1,1))   #2
    print(__name__)   #属性

然后代码:

import util
print(util.get_sum(5,16))

在这里插入图片描述

在实际的项目开发中,若某个文件开发者编写完一个可供大家使用的模块后,通常会在该模块下进行一些测试,比如上述的

在这里插入图片描述

上边的from…import *可以一次性导入某模块下的全部内容,若在自定义模块中,不想让外部一次性调用全部函数内容,可以采用__all__变量来进行相关处理

#变量
__all__=["test1","test2"]  #其他文件里只能调用这俩函数





python中包类似于文件系统中的文件夹。功能:

(1)允许 Python 模块组成较小的单元(类似文件夹);

(2)易于找到和使用相应的文件;

(3)更好地保护 Python 模块、数据和函数;

(4)防止命名冲突。


创建包


当有多个模块功能相似时,可将它们放在同一个文件夹下,还需要在该文件夹下新建伊特__init__.py文件来控制包及模块的导入行为。

在这里插入图片描述


使用包

from 包名 import 模块名
from 包名 import *


发布模块


在这里插入图片描述

(2)在 msg 目录下,需要重新创建 **setup.py(启动)**文件并编辑,且参数

py_modules

需指明所需包含的 py文件详细内容,如下:

from distutils.core import setup
setup(name="Jimy", version="1.0", description="Jimy's module",
author="Jimy", py_modules=["message.sendMsg", "message.receiveMsg"])
"""
    name: 英文名
    version: 版本   -->发布后:形成 name-version.tar.gz  name-version.zip   Jimy-1.0.tar.gz
    description:描述内容   文档说明
    author:作者
    py_modules:Python模块  -->模块
"""

(3)创建 builde 模块,使用命令先进入到 msg 目录下(DOS 命令 cd),再执行“python setup.py build”命令,创建后生成的目录结构如下:

在这里插入图片描述

在这里插入图片描述

(4)生成并发布为压缩包,可使用“python setup.py sdist”命令进行打包并最终生成可供发布的压缩包文件 Jimy-1.0.zip.

上述的压缩包文件 Jimy-1.0.zip 即为最终发布成功后,可供外部安装与使用的模块。

在这里插入图片描述


使用


当模块安装完毕后,就可以进行使用了,与正常使用模块时一致,需要使用from 包名 import 模块名或* 进行导入

from message import *
sendmsg.send()
receivemsg.receive()

运行后:
在这里插入图片描述


常见模块


1.sys

在这里插入图片描述

2.random

用于生成随机数,常用函数有

random() 返回随机生成的一个实数,它在[0,1)范围内。

randint(st,en) 返回一个随机整数,且该数的取值范围为[st,en]内。 –可以取到。

randrange(st,en) 返回指定 st 至 en 范围内的一个随机数。

3.time

time 模块用于提供时间的各种相关操作一般而言,对于时间有两种不同的表示方式,如下:(1)以时间戳(时间轴)的方式显示,且时间戳是惟一的,即相对于 1970.1.1 00:00:00 以秒计算的偏移量,也就是毫秒值;

(2)以数组(列表)的形式表示(共有九个不同的元素组成),如 2018:01:01 类的显示,且对于不同地区中,同一个时间不会因为时区不同而不同。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

strftime(f,t) 将时间对象转换为规范性字符串,参数 f 表示格式代码,参数 t 表示时间象。

strptime(x,f)将时间字符串根据指定的格式化符转换成数组形式的时间,参数 x 表示时间字符串,参数 f 表示格式代码。

4.datetime

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

5.hashlib

hashlib模块用于加密的相关操作,代替了md5模块和sha模块,主要提供 MD5,SHA1, SHA224, SHA256, SHA384,SHA512 等加密算法

在这里插入图片描述

# coding:utf-8
import hashlib
info="123456"
hash_sha1=hashlib.sha1()
hash_sha1.update(info.encode("utf-8"))
print("二进制的加密结果:",hash_sha1.digest())
print("十六进制的加密结果:",hash_sha1.hexdigest())

在这里插入图片描述



版权声明:本文为weixin_44897787原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。