20.python包

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

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

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

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

强调:

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

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

注意:
1.关于包相关的导入语句也分为import和from ... import ...两种,但是无论哪种,无论在什么位置,在导入时都必须遵循一个原则:凡是在导入时带点的,点的左边都必须是一个包,否则非法。可以带有一连串的点,如item.subitem.subsubitem,但都必须遵循这个原则。

2.对于导入后,在使用时就没有这种限制了,点的左边可以是包,模块,函数,类(它们都可以用点的方式调用自己的属性)。

3.对比import item 和from item import name的应用场景:
如果我们想直接使用name那必须使用后者。

  1. 需要注意的是from后import导入的模块,必须是明确的一个不能带点,否则会有语法错误,如:from a import b.c是错误语法
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 模块和包 一 模块 1 什么是模块? 常见的场景:一个模块就是一个包含了python定义和声明的文件,文件名就是...
    go以恒阅读 6,752评论 0 4
  • 目录: 上一节课生成器还有一些知识点没讲到,接下来补充; 一、协程函数 生成器:yield关键字的另外一种用法yi...
    CaiGuangyin阅读 3,865评论 0 1
  • If you quit from the Python interpreter and enter it agai...
    linyk3阅读 3,106评论 0 0
  • 明代万历年间的传奇剧作家高濂,除能诗会文,也通晓医理,擅长养生。他写的养生书《遵生八笺》,其中第五笺《燕闲清赏笺》...
    沉香花梨狂热爱好者阅读 2,967评论 0 1
  • 下班到家,推门进来,她就闻到空气中酸酸甜甜的香味,若有若无发酵的酒香,八九月份热烈阳光暴晒芥菜的萎靡蔬菜夹杂着阳光...
    采菲儿阅读 1,594评论 0 5

友情链接更多精彩内容