码迷,mamicode.com
首页 > 编程语言 > 详细

Python核心编程第二版 第十二章课后答案

时间:2017-09-09 16:28:33      阅读:259      评论:0      收藏:0      [点我收藏+]

标签:编程   中文注释   函数调用   高级   答案   name   参考   ima   注释   

12-1.路径搜索和搜索路径。路径搜索和搜索路径之间有什么不同?

前者是指查找某个文件的操作,后者是去查找一组目录。

 

12-2.

导入属性。假设你的模块mymodule里有一个foo()函数。

(a)把这个函数导入到你的名称空间有哪两种方法?

(b)这两种方法导入后的名称空间有什么不同?

import mymodule
from mymodule import foo
第一种将mymodule里的属性全部导入,第二种只导入foo

 

12-3.导入“import module”和“from module import*”有什么不同?

* 被直接导入到局部名字空间去了,所以它可以直接使用,而不需要加上模块名的限定。你可以导入独立的项或使用 from module import * 来导入所有东西。

 

12-4.名称空间和变量作用域。名称空间和变量作用域有什么不同?

 

名称空间(Namespaces)是名称(标识符)到对象的映射。名称空间分为局部名称空间(Local Namespaces),全局名称空间(Global Namespaces)和内建名称空间(Build-in Namespaces)。 
Build-in Namespaces首先被Python解释器加载成为Active Namespaces,由__buildins__模块中的名字构成。 
Global Namespaces随后加载为Active Namespaces,可以用globals()内建函数来判断某个名字是否属于全局名称空间。 
Local Namespaces在有需要时,也就是如果执行期间调用了某个函数时,被加载为Active Namespaces,可以用locals()内建函数来判断某个名字是否属于局部名称空间。 
变量(标识符)的作用域定义为其声明在程序里的作用范围(scope)。参见本书295页。定义在函数内的变量有局部作用域,而在一个模块中最高级别的变量有全局作用域。 
注意,所有局部空间的名称都在局部作用范围内。局部作用范围以外的的所有名称都在全局作用范围内。 
局部名称空间和作用域会随函数调用不断变化,全局名称空间不变。

下面的图来自原书。加上了中文注释,和一些修改。仅供参考。

技术分享

#本文来自博客园balian

Python核心编程第二版 第十二章课后答案

标签:编程   中文注释   函数调用   高级   答案   name   参考   ima   注释   

原文地址:http://www.cnblogs.com/jiaoyang77/p/7498419.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!