python核心编程:第十二章

1.模块

自我包含并且具有组织的代码片段就是模块

2.模块和文件

如果说模块是按照逻辑来组织python代码的方法,那么文件便是物理层上组织模块的方法。因此,一个文件被看作是一个独立模块,一个模块也可以看作是一个文件。

搜索路径和路径搜索:sys.path   sys.path.append(' ')

3.名称空间

名称空间是名称(标识符)到对象的映射。变量作用域指出了从用户代码的哪些物理变量可以访问到这些名字。

两个或三个名称空间。分别是:局部名称空间、全局名称空间、内建名称空间。局部是不断变化的

python解释器先加载内部名称空间,随后执行模块的全局名称空间。如果在执行期间内调用了一个函数,那么将创建出第三个名称空间,即局部名称空间。

python名称查找的时候,局部名称会覆盖全局,全局会覆盖局部

 无限制的名称空间:可以在任何需要放置数据的地方获得一个名称空间

4.导入模块

import 

核心风格:推荐所有的模块在python的开头部分导入,而且最好按照:python标准库模块

                                                                                                                 python第三方模块

                                                                                                                 应用程序自定义模块

from-import语句:在模块中导入指定的模块属性,也就是把指定名称导入当前作用域

 

不想使用导入的模块名称:import .... as....

5.模块导入的特性

import 和 load:一个模块只被加载一次,无论被导入多少次,阻止多从导入时代码被执行

导入到当前名称空间的名称:from module import var

                                                from module import *

 

导入新特性:from_future_import .....

从zip文件中导入模块:import hook

6.模块内建函数

__import__

__import__(module_name[,globals[,local[,fromlist]]])

globals()和locals()内建函数分别返回调用者全局和局部名称空间的字典

7.包

包是一个有层次的文件目录结构,它定义了一个由模块和子包组成的Python应用程序执行环境

绝对导入和相对导入

8.模块的其他特性

阻止属性导入:不想导入的属性名称加上一个下划线(_)

12.10 练习

1. 路径搜索:模块的导入需要一个路径搜索的过程。即在文件系统“预定义区域”中查找文件。这区域是搜索路径的集合。路径搜索和搜索路径是2个不同的概念,搜索路径是查找某个文件的操作,后者是去查找一组目录

2.

a.import module  module.foo()

from module import foo

b.import module是模块名被引入当前名称空间,foo()需要从模块名称空间调用

from import    foo()被引入当前名称空间,可以直接使用

3

from  module import*可以把指定模块所有名称导入到当前名称空间里面去

import module 只是模块被引入当前名称空间。需要使用属性/句点属性标识来访问

4.

名称空间是纯粹意义上的名字和对象之间的映射关系,而作用域还指出了用户代码的哪些物理位置可以

访问到这些名字。

5.

module=__import__('sys',formlist=['foo'])

foo=module.formlist

 

转载于:https://my.oschina.net/finndai/blog/776448

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值