zoukankan      html  css  js  c++  java
  • python开发调用基础:模块的调用&制作包&软件开发规范

    一,包的调用

     1 #!/usr/bin/env python
     2 #_*_coding:utf-8_*_
     3 
     4 #调用 glance[1..4]apipolicy.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 # glance2api\__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 # glance3api\__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 # glance4api\__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。在软件开发初期,由于开发过程中以上内容可能不明确或者发生变化,并不是一定要在一开始就将所有信息都补全。但是在项目完结的时候,是需要撰写这样的一个文档的。

  • 相关阅读:
    linux安装及入门
    20165103学习基础和C语言基础调查
    20165103 我期望的师生关系
    自旋锁,偏向锁,轻量级锁 和 重量级锁
    volatile的使用及其原理
    (PASS)什么是原子性和原子性操作?
    Linux操作系统 和 Windows操作系统 的区别
    Linux常用命令大全(很全面)
    CAS机制总结
    CAS -- ABA问题的解决方案
  • 原文地址:https://www.cnblogs.com/jokerbj/p/7350840.html
Copyright © 2011-2022 走看看