包:

包是一种通过使用‘.模块名’来组织python模块名称空间的方式。

1. 无论是import形式还是from...import形式,凡是在导入语句中(而不是在使用时)遇到带点的,都要第一时间提高警觉:这是关于包才有的导入语法

2. 包是目录级的(文件夹级),文件夹是用来组成py文件(包的本质就是一个包含__init__.py文件的目录)

3. import导入文件时,产生名称空间中的名字来源于文件,import 包,产生的名称空间的名字同样来源于文件,即包下的__init__.py,导入包本质就是在导入该文件

强调:

  1. 在python3中,即使包下没有__init__.py文件,import 包仍然不会报错,而在python2中,包下一定要有该文件,否则import 包报错

  2. 创建包的目的不是为了运行,而是被导入使用,记住,包只是模块的一种形式而已,包即模块

包A和包B下有同名模块也不会冲突,如A.a与B.a来自俩个命名空间

创建目录代码:

 1 import os
 2 os.makedirs('glance/api')
 3 os.makedirs('glance/cmd')
 4 os.makedirs('glance/db')
 5 l = []
 6 l.append(open('glance/__init__.py','w'))
 7 l.append(open('glance/api/__init__.py','w'))
 8 l.append(open('glance/api/policy.py','w'))
 9 l.append(open('glance/api/versions.py','w'))
10 l.append(open('glance/cmd/__init__.py','w'))
11 l.append(open('glance/cmd/manage.py','w'))
12 l.append(open('glance/db/models.py','w'))
13 map(lambda f:f.close() ,l)

目录结构:

 1 glance/                   #Top-level package
 2
 3 ├── __init__.py      #Initialize the glance package
 4
 5 ├── api                  #Subpackage for api
 6
 7 │   ├── __init__.py
 8
 9 │   ├── policy.py
10
11 │   └── versions.py
12
13 ├── cmd                #Subpackage for cmd
14
15 │   ├── __init__.py
16
17 │   └── manage.py
18
19 └── db                  #Subpackage for db
20
21     ├── __init__.py
22
23     └── models.py

文件内容:

#文件内容#policy.py
def get():print('from policy.py')#versions.py
def create_resource(conf):print('from version.py: ',conf)#manage.py
def main():print('from manage.py')#models.py
def register_models(engine):print('from models.py: ',engine)

代码运行:

2.1注意事项:

2.2import

2.3 from...import...

转载于:https://www.cnblogs.com/xudj/p/9845428.html

Python--day21--包相关推荐

  1. python pycharm 包 安装问题

    20211006 https://blog.csdn.net/anshuai_aw1/article/details/83749395 windows pyfm安装 20210930 在pycharm ...

  2. TensorFlow常用Python扩展包

    TensorFlow常用Python扩展包 TensorFlow 能够实现大部分神经网络的功能.但是,这还是不够的.对于预处理任务.序列化甚至绘图任务,还需要更多的 Python 包. 下面列出了一些 ...

  3. python基础:python扩展包的安装方式

    python扩展包有三种安装方式: 1. pip安装方式.python3默认自带pip,无需另外安装:在python2.7版本上默认为easy_install安装工作进行安装,如果需要使用pip安装, ...

  4. python自定义包或模块在Linux服务器导入错误的解决办法

    python自定义包或模块在Linux服务器导入错误的解决办法 在本地机器上跑python代码,自己定义的文件进行导包运行是没有问题,但是放到linux服务器上的时候就会提示 ImportError: ...

  5. python pytorch 包的安装

    python pytorch 包的安装 打开官网:https://pytorch.org/ https://pytorch.org/get-started/locally/

  6. python 第三方包自动导入_7行代码,彻底告别python第三方包import导入问题!

    最近有不少小伙伴咨询关于pyton第三方包导入的问题,今天我们就来聊聊第三方包导入那些事. 随着对python学习的渐入臻境,越来越多的小伙伴们开始导入自己所需的第三方包,实现各种各样的功能.但是,他 ...

  7. 如何编写Python模块/包?

    本文翻译自:How to write a Python module/package? I've been making Python scripts for simple tasks at work ...

  8. windows下python依赖包_windows下安装python拓展包

    安装Python集成开发环境IDE 2.IPython:方便今后编译其他扩展库,占用空间92.8M: sudo apt-get install python-dev IPython 为了安装最新版的I ...

  9. python怎么安装第三方库-vs2017怎么安装python第三方包

    vs2017有独立的python环境:所以想在vs2017开发python并使用第三方包,需要在vs2017中操作,完成第三方包的安装. 一,查看vs2017有哪些版本的python,当前使用的是哪个 ...

  10. python怎么导入包-如何理解Python中包的引入

    Python的from import *和from import *,它们的功能都是将包引入使用,但是它们是怎么执行的以及为什么使用这种语法呢? 从一模块导入全部功能 from import * me ...

最新文章

  1. 基于图的异常检测(三):GraphRAD
  2. 加载模型预测时出现Dst tensor is not initialized.
  3. HDU 6030 Happy Necklace
  4. [Spark]PySpark入门学习教程---RDD介绍(2)
  5. (组合数学笔记)Pólya计数理论_Part.1_群的基本概念
  6. Maven Oracle JDBC
  7. [转载] python猜字谜游戏_Python Hangman猜字游戏
  8. 《深入浅出通信原理》读书笔记系列1-第2章 信号与频谱
  9. 美团架构师探秘Java生态系统,介绍JDK、JVM、JEP
  10. springboot高校学生健康打卡系统的设计与实现毕业设计源码021009
  11. Android基础:ViewPage2
  12. html 外联 变 内联,Html 内联元素、外联元素 和 可变元素
  13. 欢迎加入知识星球 [ Hi Android ]
  14. 【Python数据分析与可视化】Pandas统计分析-实训
  15. 【Hack The Box】windows练习-- love
  16. K8s安全管理:认证、授权、准入控制
  17. 俄大神 lopatkin Windows 精简优化系统 - 工具软件
  18. 阿里云天池大赛赛题(深度学习)——视频增强(完整代码)
  19. HTML5期末大作业:电影网站设计——迪斯尼公主滚动特效(7页) HTML5网页设计成品_学生DW静态网页设计代做_web课程设计网页制作
  20. 债券正回购和逆回购交易操作指南

热门文章

  1. 9.11两点间距离(1636050091)
  2. 基于Spark机器学习和实时流计算的智能推荐系统
  3. cocos2dx win32下的MainLoop分析(启动流程)
  4. 大数据之-Hadoop3.x_MapReduce_排序概述---大数据之hadoop3.x工作笔记0114
  5. C++提高部分_C++模板的局限性_以及用模板具体化来解决模板局限性问题---C++语言工作笔记086
  6. 认识activiti与flowable的区别---工作流工作笔记001
  7. weightedrandomSamplers(1)
  8. MYSQL启动后报:ERROR! The server quit without updating PID file错误的问题解决
  9. wireshark在win8.1上抓包的问题解决
  10. 路由器IP-4-DUPADDR: Duplicate address和CDP-4-DUPLEX_MISMATCH错误的解决方案