Python学习---模版/包的概念

Posted 小a玖拾柒

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python学习---模版/包的概念相关的知识,希望对你有一定的参考价值。

1.1. 模块/包的概念

在Python中,一个.py文件就称之为一个模块(Module)

模块一共三种:

python标准库

第三方模块

应用程序自定义模块

模块的使用:模块是用来组织函数的

解释器通过搜索路径找到hhh.py后, 将hhh.py解析后全部加入内存并全部赋值给hhh这个变量,后面取值需要 hhh.XXX()

# import hhh      #解释器通过搜索路径找到hhh.p后, 将hhh.py解析后全部加入内存并全部赋值给hhh这个变量,后面取值需要 hhh.XXX()
# from hhh import hello          # 导入hhh.hello(),可以直接使用 print(hello(str))
# from hhh import hello as world # 导入hhh.hello()并且重新命名为world
# from hhh import *              # 如果本地有同名函数,则会根据引用位置的不同,导致函数的结果不同

包的使用:包是用来组织模块的,import  hhh,就是调用hhh包并且执行__init__.py

       import 包仅仅是执行了__init__.py,和其他模块并无关联

# 包导入的一定是模块,不同的包直接通过点来导入
# import  hhh    #  就是调用hhh这个包并且执行了__init__py这个模块,并未关联其他模块
# from demo.hhh import test      # 从demo包下面的hhh包里面导入test模块
# from demo.hhh.test import add  # 从demo包下面的hhh包里面导入test模块里面的add方法
# from demo import test          # 从demo包里面导入test模块
print(add(4,5))
# import demo.logger             # 错误 ImportError: No module named \'demo.logger\'
# import demo.hhh.test           # 错误 ImportError: No module named \'demo.logger\'

1.2. python中的BASEDIR

# version: python3.2.5
# author: ‘FTL1012‘
# time: 2017/12/12 21:28
import os, sys
# 相对路径&&绝对路径
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
# 添加环境变量
sys.path.append(BASE_DIR)
# print(BASE_DIR)
# print(sys.path)
from ATM.module import main                       # 在Python解释器中无法执行,无法找到ATM包
main.main()

# print(__file__)                                    # F:/Python_demountitled/ATM/bin/bin.py
# print(os.path.abspath(__file__))                   # F:\\Python_demountitled\\ATM\\bin\\bin.py
# print(os.path.dirname(os.path.abspath(__file__)))  # F:\\Python_demountitled\\ATM\\bin

1.3.__name__变量

if __name__ == \'__main__\':
    pass
# 如果在本函数内,则显示的是__main__
# 如果是在别的函数里面调用,则显示的是模块名
# 用于功能测试

1.4. 目录结构

image

简要解释一下:
bin/: 存放项目的一些可执行文件,当然你可以起名script/之类的也行。
foo/: 存放项目的所有源代码。(1) 源代码中的所有模块、包都应该放在此目录。不要置于顶层目录。(2) 其子目录tests/存放单元测试代码; (3) 程序的入口最好命名为main.py。
docs/: 存放一些文档。
setup.py: 安装、部署、打包的脚本。
requirements.txt: 存放软件依赖的外部Python包列表。
     方便开发者维护软件的包依赖。将开发过程中新增的包添加进这个列表中,避免在setup.py安装依赖时漏掉软件包。
     方便读者明确项目使用了哪些Python包。
README: 项目说明文件,功能如下:
       软件定位,软件的基本功能。
       运行代码的方法: 安装环境、启动命令等。
       简要的使用说明。
       代码目录结构说明,更详细点可以说明软件的基本原理。
       常见问题说明。

 

【学习参考】 http://www.cnblogs.com/alex3714/articles/5161349.html

【学习参考】 http://www.cnblogs.com/yuanchenqi/articles/5732581.html

【学习参考】 http://www.cnblogs.com/alex3714/articles/5765046.html

以上是关于Python学习---模版/包的概念的主要内容,如果未能解决你的问题,请参考以下文章

Python 模块和包的概念

使用 Git 来管理 Xcode 中的代码片段

k8s学习-污点和容忍(概念模版创建删除)

k8s学习-污点和容忍(概念模版创建删除)

Python(28)---模块和包的基本概念

python 机器学习有用的代码片段