python开发调用基础:模块的调用&制作包&软件开发规范
一,包的调用
#!/usr/bin/env python
#_*_coding:utf-8_*_ #调用 glance[1..4]\api\policy.py 路径
# policy.py 内容
# def one():
# print('this first!') # 1.glance1里面什么都没有写,只有plicy这个模块写了个方法,导入了具体的模块
# from glance1.api import policy 导入绝体模块
# policy.one() #模块的方法 # 绝对路径的调用方式,注意init文件,目录下都需要写
# import glance2
# glance2.api.policy.one() 目录下的模块方法都能找到
# glance2\__init__.py from glance2 import api
# glance2\api\__init__.py from glance2.api import policy # 相对路径的调用方式,注意init文件,与绝对路径相比就是.的用法
# import glance3
# glance3.api.policy.one() #目录下的模块方法都能找到
# glance3\__init__.py from . import api
# glance3\api\__init__.py from . import policy # 相对路径的调用不需要你去点点,直接就可以调用模块的方法,注意init文件,
# 用的是impor * 和 all的匹配使用
# import glance4
# glance4.policy.one()
# glance4\__init__.py from .api import *
# glance4\api\__init__.py __all__ = ['policy']
二,模块的调用
#!/usr/bin/env python
#_*_coding:utf-8_*_ #一个py文件就可以作为一个模块
#模块的导入:直接导入文件的名字,不需要带着后缀
#模块中的函数调用:模块名.函数名() #模块导入的时候做了三件事:
#首先 开辟了一个新的命名空间 my_moudle
#执行my_moudle内的代码
#将my_moudle里面的名字都和my_moudle绑定在一起 #模块在一个程序中只会被导入一次,不会被重复导入
#为了节约资源
#如何实现的?
#导入一个模块之后,会将模块存储在内存中
#当再次导入的时候,就到内存中去查看是否导入过这个模块,如果导入了就不继续导入 #导入的模块有自己的命名空间
#当你给一个模块起了别名的时候,就产生了一个命名空间,这个命名空间只和别名相关 # from ... import ... 这种形式是导入什么模块就用什么模块的方法
# import 模块 这个被import的模块把自己的全局导入进来 #参数问题,导入的模块,再被调用时候可以传参 #from 模块 import *
#首先会把模块当中所有不是‘_’开头的内容导入进来
#还可以通过__all__来控制可以导入的内容
#但是 以上两条只和 * 有关 # if __name__ == 'main':函数名 调用和本身相对独立,调用者需要导入模块后调用函数名()执行,不会执行整个模块内容
# 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。在软件开发初期,由于开发过程中以上内容可能不明确或者发生变化,并不是一定要在一开始就将所有信息都补全。但是在项目完结的时候,是需要撰写这样的一个文档的。
python开发调用基础:模块的调用&制作包&软件开发规范的更多相关文章
- Python引用多个模块,调用模块中的函数时,要注意的地方
转自:http://blog.csdn.net/yjk13703623757/article/details/70237463 python模块是”从下到上”导入(import)的. 例如: a.py ...
- thinkphp5的控制器调用自身模块和调用其他模块的方法
以user为例,调用user.php的get_number()方法 一.不管是调用自身模块还是其他模块app\model\User.php写法不变 <?php namespace app\ind ...
- import模块/包--软件开发规范
一. 模块 模块:就是一个包含了python定义和声明的文件,文件名就是模块名字加上.py的后缀. import加载的模块分为四个通用类别: 1 使用python编写的代码(.py文件) 2 已被编译 ...
- day21 模块与包+软件开发目录规范
目录 一.导入模块的两种方式 二.模块搜索的路径的优先级 三.循环导入 四.区分py文件的两种用途 五.编写一个规范的模板 五.包 1 什么是包 2 为什么要有包 3 包的相关使用 3.1 在当前文件 ...
- WPF软件开发系统之二——水环境检测Surface触摸屏软件开发
该系统采用C#.WPF语言开发,开发工具Visual Studio 2015.Blend,环境WIN7系统及以上,适用于PC.Windows触摸屏Surface等设备. 部分截图效果如下: 开发工具环 ...
- python自动化开发-[第六天]-常用模块、面向对象
今日概要: 1.常用模块 - os模块 - random模块 - shutil模块 - hashlib模块 - pickle/json模块 - shelve模块 - configparser模块 - ...
- [No0000138]软件开发基础知识
1. 本文目的 本文目的在于,介绍软件开发的各种基础知识 以实现,看了之后,对于软件开发的很多领域的基础知识有所了解 如此在进行后续的真正的软件开发时,遇到各种细节知识,才会明白由来和背景知识 第 1 ...
- Python自建logging模块
本章将介绍Python内建模块:日志模块,更多内容请从参考:Python学习指南 简单使用 最开始,我们用最短的代码体验一下logging的基本功能. import logging logger = ...
- 如何在华为云软件开发云上运行Python
一. 华为云软件开发云与Python 1. 华为云软件开发云简介 华为云软件开发云(DevCloud)是集华为近30年研发实践,前沿研发理念,先进研发工具为一体的一站式云端DevOps平台,面向开发者 ...
随机推荐
- 调用http接口的工具类
网上面有很多,但是我们项目怎么也调不到结果,试了差不多很多案例,都是报connection reset 后来,我发现是有一个验证,需要跳过验证.然后才能调接口.所以找了一个忽略https的方法.进行改 ...
- Selenium with Python 003 - 页面元素定位
WebUI自动化,首先需要定位页面中待操作的元素,然后进行各种事件操作,这里我们首先介绍Selenium Python 如何定位页面元素,WebDriver 提供了一系列的方法. 定位单个页面元素(返 ...
- AI实现五子棋机器人(一)
前言: 前几天在 csdn 下载资源的时候才发现自己 csdn 有近 200 的下载积分,看了看共享的资源,哈哈 ... 7年前写的五子棋游戏很受欢迎. 下载地址:新手入门五子棋游戏 刚入行的 ...
- mysql的bin或者sbin目录可执行文件
一. mysql服务和myql服务启动程序 1. mysqld mysqld就是mysql server,负责管理对mysql数据的访问. 当mysql server启动后,它会监听来自客户端的网络连 ...
- linux rpm命令安装卸载 初步使用
安装(以安装jdk为例) 1.下载后,首先把jdk-7u3-linux-x64.rpm复制到/usr/local/src#cp jdk-7u3-linux-x64.rpm /usr/local/src ...
- python----标准库概要
操作系统接口 os模块提供了不少与操作系统相关联的函数. >>> import os >>> os.getcwd() # 返回当前的工作目录 'C:\\Python ...
- Prism5.0新内容 What's New in Prism Library 5.0 for WPF(英汉对照版)
Prism 5.0 includes guidance in several new areas, resulting in new code in the Prism Library for WPF ...
- react pagination
class AppPagination extends React.Component { handleChange(pageNum) { this.props.handleChangePage(pa ...
- SPS和PPS有哪些重要的参数?
SPS: Level_idc: Bit_depth_luma_minus8: Bit_depth_chroma_minus8: Pic_order_cnt_type: Num_ref_frames: ...
- Python判断unicode是汉字,数字,英文,或者其他字符
功能: 判断unicode是否是汉字,数字,英文,或者是否是(汉字,数字和英文字符之外的)其他字符. 全角.半角符号相互转换. 全角.半角? 全角--指一个字符占用两个标准字符位置. 汉字字符和规定了 ...