Python基础知识-pycharm版-10

模块

模块包含标准库模块(python默认提供的模块),自定义模块。
模块化编程:便于将一个任务分解多个模块,实现团队协作开发,完成大规模程序。实现代码复用,一个模块实现后,可以重复调用。维护性增强。

模块化编程的流程

一般流程:1.设计api,进行功能描述。2.编码实现api中描述的功能。3.在模块中编写测试代码,并消除全局代码。4.使用私有函数实现不被外部客户端调用的函数模块。
在这里插入图片描述
如何查看api,在import 包名 上,ctrl+鼠标左键可以进入包的源代码中查看。
注释
在这里插入图片描述
描述
在这里插入图片描述
同样的,在模块写一些模块中的函数时,也可以ctrl+鼠标左键跳到原文件中查看作者标注的一些注释。
查看api
通过代码访问

import math
help(math)

或者找到python的安装路径下docs 子目录,双击打开 chm 文档,即可通过索引输入“math”查询到对应的 API 内容。

自己定义模块与调用

在这里插入图片描述
在这里插入图片描述

模块的导入

import

import 模块名 #导入一个模块
import 模块 1,模块 2#导入多个模块
import 模块名 as 模块别名 #导入模块并使用新名字

import可以导入:a.使用 python 编写的代码(.py 文件);b.已被编译为共享库或 DLL 的 C 或 C++扩展;c.包好一组模块的包d.使用 C 编写并链接到 python 解释器的内置模块;
from…import

from 模块名 import 成员 1,成员 2,…

import(包)或__importlib__(包)动态导入,官方推荐后者

a=__import__(模块)
import importlib
b=__importlib__(模块)

每个模块都只需要导入一次。重新加载可以使用importlib.reload(),但是没感觉有什么用。

包package的使用

当一个项目中有很多个模块时,需要再进行组织。我们将功能类似的模块放到一起,形成了“包”。本质上,“包”就是一个必须有__init__.py 的文件夹。
在这里插入图片描述
包下面可以包含“模块(module)”,也可以再包含“子包(subpackage)”。就像文件夹下面可以有文件,也可以有子文件夹一样。

pycharm 中创建包

在要创建包的地方单击右键:New–>Python package 即可。pycharm 会自动帮助我们生成带有__init__.py 文件的包,然后就可以在这个文件下添加.py文件作为小的子包。
在这里插入图片描述

导入包操作

在这里插入图片描述
例如我们在b中的module_B1中掉用a-aa的module_AA.py。
三种写法:
1.import a.aa.module_AA,在使用时,必须加完整名称来引用,比如:a.aa.module_AA.fun_AA()。
2.from a.aa import module_AA,在使用时,直接可以使用模块名。 比如:module_AA.fun_AA()。
3.from a.aa.module_AA import fun_AA,在使用时,直接可以使用函数名。 比如:fun_AA()。

模糊导入用*导入

import * 这样的语句理论上是希望文件系统找出包中所有的子模块,然后导入它们。这可能会花长时间等。Python 解决方案是提供一个明确的包索引。不建议使用。

包内引用

注意点的个数。
from … import module_A #…表示上级目录 .表示同级目录
from . import module_A2 #.表示同级目录

sys.path 和模块搜索路径

寻找模块文件的顺序
它一般按照如下路径寻找模块文件(按照顺序寻找,找
到即停不继续往下寻找):
1.内置模块
2. 当前运行程序的目录
3. 程序的主目录
4. pythonpath 目录(如果已经设置了 pythonpath 环境变量)
5. 标准链接库目录
6. 第三方库目录(site-packages 目录)
7. .pth 文件的内容(如果存在的话)
8. sys.path.append()临时添加的目录
如果没有则报错。
在这里插入图片描述

模块的发布与安装

本地发布

整个模块应这样排布,setup起记录作用。
在这里插入图片描述
setup的格式可以直接粘贴下面的格式来填写

from distutils.core import setup

setup(
	name='baizhanMath2', # 对外我们模块的名字
	version='1.0', # 版本号
	description='这是第一个对外发布的模块,测试哦', #描述
	author='gaoqi', # 作者
	author_email='gaoqi110@163.com',
	py_modules=['baizhanMath2.demo1','baizhanMath2.demo2'] # 要发布的模块
)

打包的时候选择模块-右键-open in terminal在这里插入图片描述
然后在下面输入python setup.py sdist
在这里插入图片描述
然后就会生成一个压缩包

本地安装模块

第三方库位置一般在 python 目录/Lib/site-packages 目录,安装 成功后,文件夹会存在这个位置中。
在这里插入图片描述
但他没说这个包是在哪打开的,这里也没有现成的包让我练习导入,如果后续有需要再补全这个部分

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值