python开发调用基础:模块的调用&制作包&软件开发规范
一,包的调用
1 #!/usr/bin/env python 2 #_*_coding:utf-8_*_ 3 4 #调用 glance[1..4]\api\policy.py 路径 5 # policy.py 内容 6 # def one(): 7 # print('this first!') 8 9 # 1.glance1里面什么都没有写,只有plicy这个模块写了个方法,导入了具体的模块 10 # from glance1.api import policy 导入绝体模块 11 # policy.one() #模块的方法 12 13 # 绝对路径的调用方式,注意init文件,目录下都需要写 14 # import glance2 15 # glance2.api.policy.one() 目录下的模块方法都能找到 16 # glance2\__init__.py from glance2 import api 17 # glance2\api\__init__.py from glance2.api import policy 18 19 # 相对路径的调用方式,注意init文件,与绝对路径相比就是.的用法 20 # import glance3 21 # glance3.api.policy.one() #目录下的模块方法都能找到 22 # glance3\__init__.py from . import api 23 # glance3\api\__init__.py from . import policy 24 25 # 相对路径的调用不需要你去点点,直接就可以调用模块的方法,注意init文件, 26 # 用的是impor * 和 all的匹配使用 27 # import glance4 28 # glance4.policy.one() 29 # glance4\__init__.py from .api import * 30 # glance4\api\__init__.py __all__ = ['policy']
二,模块的调用
1 #!/usr/bin/env python 2 #_*_coding:utf-8_*_ 3 4 #一个py文件就可以作为一个模块 5 #模块的导入:直接导入文件的名字,不需要带着后缀 6 #模块中的函数调用:模块名.函数名() 7 8 #模块导入的时候做了三件事: 9 #首先 开辟了一个新的命名空间 my_moudle 10 #执行my_moudle内的代码 11 #将my_moudle里面的名字都和my_moudle绑定在一起 12 13 #模块在一个程序中只会被导入一次,不会被重复导入 14 #为了节约资源 15 #如何实现的? 16 #导入一个模块之后,会将模块存储在内存中 17 #当再次导入的时候,就到内存中去查看是否导入过这个模块,如果导入了就不继续导入 18 19 #导入的模块有自己的命名空间 20 #当你给一个模块起了别名的时候,就产生了一个命名空间,这个命名空间只和别名相关 21 22 # from ... import ... 这种形式是导入什么模块就用什么模块的方法 23 # import 模块 这个被import的模块把自己的全局导入进来 24 25 #参数问题,导入的模块,再被调用时候可以传参 26 27 #from 模块 import * 28 #首先会把模块当中所有不是‘_’开头的内容导入进来 29 #还可以通过__all__来控制可以导入的内容 30 #但是 以上两条只和 * 有关 31 32 # if __name__ == 'main':函数名 调用和本身相对独立,调用者需要导入模块后调用函数名()执行,不会执行整个模块内容 33 # import * 和 __all__ = ['模块名'] all限制了调用者可以使用哪些变量和方法
三,常规调用
# import 单文件 # from dir import file 目录下文件 # 如果有想通的名称 # from dir import file as rename.file # pip3 requests install # 源码下载后会出现STEUP.PY文件,然后PYTHON STEUP.PY INSTALL # 注意依赖关系
倒入模块的时候的优先级
先内置模块
安装的扩展模块
自己写的模块
开发规范目解释
全英文,py文件,(函数,类的命名注意规范)
soft 软件名字
bin 程序开始的地方
start.py 不要超过五十行,调用的地方
conf 配置文件,代码结构,输出要求。用户名,密码现阶段可以放
config.ini 一种格式
settings.py
core 核心代码,被调用的地方
core.py
db 数据,卖的商品,人物的信息,文件数据修改的地方
alex_json
egon_json
lib 用到的模块
read_ini.py
log 日志,操作记录
all.log
README的内容
这个我觉得是每个项目都应该有的一个文件,目的是能简要描述该项目的信息,让读者快速了解这个项目。
它需要说明以下几个事项:
1. 软件定位,软件的基本功能。
2. 运行代码的方法: 安装环境、启动命令等。
3. 简要的使用说明。
4. 代码目录结构说明,更详细点可以说明软件的基本原理。
5. 常见问题说明。
我觉得有以上几点是比较好的一个README
。在软件开发初期,由于开发过程中以上内容可能不明确或者发生变化,并不是一定要在一开始就将所有信息都补全。但是在项目完结的时候,是需要撰写这样的一个文档的。