一,包的调用

 #!/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开发调用基础:模块的调用&制作包&软件开发规范的更多相关文章

  1. Python引用多个模块,调用模块中的函数时,要注意的地方

    转自:http://blog.csdn.net/yjk13703623757/article/details/70237463 python模块是”从下到上”导入(import)的. 例如: a.py ...

  2. thinkphp5的控制器调用自身模块和调用其他模块的方法

    以user为例,调用user.php的get_number()方法 一.不管是调用自身模块还是其他模块app\model\User.php写法不变 <?php namespace app\ind ...

  3. import模块/包--软件开发规范

    一. 模块 模块:就是一个包含了python定义和声明的文件,文件名就是模块名字加上.py的后缀. import加载的模块分为四个通用类别: 1 使用python编写的代码(.py文件) 2 已被编译 ...

  4. day21 模块与包+软件开发目录规范

    目录 一.导入模块的两种方式 二.模块搜索的路径的优先级 三.循环导入 四.区分py文件的两种用途 五.编写一个规范的模板 五.包 1 什么是包 2 为什么要有包 3 包的相关使用 3.1 在当前文件 ...

  5. WPF软件开发系统之二——水环境检测Surface触摸屏软件开发

    该系统采用C#.WPF语言开发,开发工具Visual Studio 2015.Blend,环境WIN7系统及以上,适用于PC.Windows触摸屏Surface等设备. 部分截图效果如下: 开发工具环 ...

  6. python自动化开发-[第六天]-常用模块、面向对象

    今日概要: 1.常用模块 - os模块 - random模块 - shutil模块 - hashlib模块 - pickle/json模块 - shelve模块 - configparser模块 - ...

  7. [No0000138]软件开发基础知识

    1. 本文目的 本文目的在于,介绍软件开发的各种基础知识 以实现,看了之后,对于软件开发的很多领域的基础知识有所了解 如此在进行后续的真正的软件开发时,遇到各种细节知识,才会明白由来和背景知识 第 1 ...

  8. Python自建logging模块

    本章将介绍Python内建模块:日志模块,更多内容请从参考:Python学习指南 简单使用 最开始,我们用最短的代码体验一下logging的基本功能. import logging logger = ...

  9. 如何在华为云软件开发云上运行Python

    一. 华为云软件开发云与Python 1. 华为云软件开发云简介 华为云软件开发云(DevCloud)是集华为近30年研发实践,前沿研发理念,先进研发工具为一体的一站式云端DevOps平台,面向开发者 ...

随机推荐

  1. 调用http接口的工具类

    网上面有很多,但是我们项目怎么也调不到结果,试了差不多很多案例,都是报connection reset 后来,我发现是有一个验证,需要跳过验证.然后才能调接口.所以找了一个忽略https的方法.进行改 ...

  2. Selenium with Python 003 - 页面元素定位

    WebUI自动化,首先需要定位页面中待操作的元素,然后进行各种事件操作,这里我们首先介绍Selenium Python 如何定位页面元素,WebDriver 提供了一系列的方法. 定位单个页面元素(返 ...

  3. AI实现五子棋机器人(一)

    前言: 前几天在 csdn 下载资源的时候才发现自己 csdn 有近 200 的下载积分,看了看共享的资源,哈哈 ... 7年前写的五子棋游戏很受欢迎. 下载地址:新手入门五子棋游戏     刚入行的 ...

  4. mysql的bin或者sbin目录可执行文件

    一. mysql服务和myql服务启动程序 1. mysqld mysqld就是mysql server,负责管理对mysql数据的访问. 当mysql server启动后,它会监听来自客户端的网络连 ...

  5. linux rpm命令安装卸载 初步使用

    安装(以安装jdk为例) 1.下载后,首先把jdk-7u3-linux-x64.rpm复制到/usr/local/src#cp jdk-7u3-linux-x64.rpm /usr/local/src ...

  6. python----标准库概要

    操作系统接口 os模块提供了不少与操作系统相关联的函数. >>> import os >>> os.getcwd() # 返回当前的工作目录 'C:\\Python ...

  7. 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 ...

  8. react pagination

    class AppPagination extends React.Component { handleChange(pageNum) { this.props.handleChangePage(pa ...

  9. SPS和PPS有哪些重要的参数?

    SPS: Level_idc: Bit_depth_luma_minus8: Bit_depth_chroma_minus8: Pic_order_cnt_type: Num_ref_frames: ...

  10. Python判断unicode是汉字,数字,英文,或者其他字符

    功能: 判断unicode是否是汉字,数字,英文,或者是否是(汉字,数字和英文字符之外的)其他字符. 全角.半角符号相互转换. 全角.半角? 全角--指一个字符占用两个标准字符位置. 汉字字符和规定了 ...