20.python包

作者: 花间派I风月 | 来源:发表于2019-01-25 22:35 被阅读0次

包是一种通过使用‘.模块名’来组织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是错误语法

相关文章

  • 20.python包

    包是一种通过使用‘.模块名’来组织python模块名称空间的方式。 1. 无论是import形式还是from......

  • 20.Python编程:类和对象

    前面已经学习了面向对象和面向过程的区别和联系,面向过程编程和面向对象编程是两种程序设计思想,是从不同角度去思考问题...

  • 20.Python使用Requests请求网页

    安装方式 利用 pip 安装 基本GET请求(headers参数 和 parmas参数) 最基本的GET请求可以直...

  • 20.Python之正则表达式

    Python之正则表达式 正则表达式什么是正则表达式?正则表达是一套匹配字符串的通用规则,很多开发语言中都有。为什...

  • 20.Python的其他场景的迭代工具

    昨天介绍了zip和enumerate两个用于迭代的函数。zip实现并行迭代,用于同是迭代两个序列的场景。enume...

  • 20.Python中pass语句的作用是什么?

    pass语句什么也不做,一般作为占位符或者创建占位程序,pass语句不会执行任何操作,比如: pass通常用来创建...

  • python初学20.Python特色数据类型(元组)(上)

    元组(tuple) 元组是Python的另一种特色的数据类型 元组和列表是相似的 可以存储不同类型的数据 但是!划...

  • 闭包,闭包,闭包

    1、这家伙到底是什么? 网上关于这个的讨论的太多了太多了,有各种的举例子,但是大部分还在寻找这个答案的小伙伴对于变...

  • Golang-基础包

    math包 strconv包 json包 time包

  • swift-闭包

    闭包 闭包定义 闭包简化 - 尾随闭包 闭包参数 闭包返回值 闭包的循环引用

网友评论

    本文标题:20.python包

    本文链接:https://www.haomeiwen.com/subject/twfbjqtx.html