文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>python中的名字空间

python中的名字空间

时间:2006-06-13  来源:pipehappy

在python中,名字空间是名字和实例的对应。当解释器启动时,内建名字的名字空间被建立,他们被看作是模块__builtin__的名字空间;当模块被载入的时候,模块的名字空间被建立;正在执行的文件或是交互命令的名字空间被看作是__main__的名字空间。   范围(scope)是python代码中可以直接使用某一名字空间的区域。   在执行的任何时间都至少有三个名字空间,一个是本地名字空间,包括最近函数内的名字;一个是模块的名字空间,包括模块中的全局变量;还有一个是__builtins__的名字空间。使用顺序由前到后。赋值都是在本地名字空间中发生的,import和函数定义的作用是将模块或是函数名绑定到本地名字空间中。     ################################ 看看文件的组织结构: 使用dir()可以查看某个模块定义的名字。   __name__中间总是当前模块的名字字符串。   在python中一个python文件就是一个模块(module)。使用模块这个名字是因为更好的体现了模块体现了名字空间,不像在c中间的那样名字空间和文件有关,但还是使用文件这个名字。   模块的集合就是包(package)。实际上就是文件的组合形成了目录一样(python中包和模块是一个类型)。与普通目录不同的是在每一个包的目录中都有一个__init__.py文件。这个文件可以是空的,也可以是有一些初始化代码的。用户可能需要在__init__.py中定义__all__。这个变量包含了包中间的公开的模块名(模块中的__all__包括了模块的API)。当使用from package import *时,被引入的是定义在__all__中的名字(使用import时,没有这个效果)。     ####################### 下面看看关键字: import的作用是有两部分,发现并初始化模块,然后是在本地名字空间中定义名字。语法如下: import_stmt ::= "import" module ["as" name] ( "," module ["as" name] )*
  | "from" module "import" identifier ["as" name]
    ( "," identifier ["as" name] )*
  | "from" module "import" "(" identifier ["as" name]
    ( "," identifier ["as" name] )* [","] ")"
  | "from" module "import" "*"
module ::= (identifier ".")* identifier
   
相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载