搜刮途径
当你导入一个模块,Python 解析器对模块位置的搜刮递次是:
1、当前目次
2、假如不在当前目次,Python 则搜刮在 shell 变量 PYTHONPATH 下的每一个目次。
3、假如都找不到,Python会观察默许途径。UNIX下,默许途径平常为/usr/local/lib/python/。
模块搜刮途径存储在 system 模块的 sys.path 变量中。变量里包括当前目次,PYTHONPATH和由装置历程决议的默许目次。
定名空间和作用域
变量是具有婚配对象的名字(标识符)。定名空间是一个包括了变量称号们(键)和它们各自响应的对象们(值)的字典。
一个 Python 表达式能够接见部分定名空间和全局定名空间里的变量。假如一个部分变量和一个全局变量重名,则部分变量会掩盖全局变量。
每一个函数都有本身的定名空间。类的要领的作用域划定规矩和一般函数的一样。
Python 会智能地猜想一个变量是部分的照样全局的,它假定任安在函数内赋值的变量都是部分的。
因而,假如要给函数内的全局变量赋值,必需运用 global 语句。
global VarName 的表达式会通知 Python, VarName 是一个全局变量,如许 Python 就不会在部分定名空间里寻觅这个变量了。
比方,我们在全局定名空间里定义一个变量 Money。我们再在函数内给变量 Money 赋值,然后 Python 会假定 Money 是一个部分变量。但是,我们并没有在接见前声明一个部分变量 Money,效果就是会涌现一个 UnboundLocalError 的毛病。作废 global 语句前的解释符就能够处理这个题目。
#!/usr/bin/python # -*- coding: UTF-8 -*- Money = 2000 def AddMoney(): # 想纠正代码就作废以下解释: # global Money Money = Money + 1 print Money AddMoney() print Money
以上就是python的模块数据是哪里来的的细致内容,更多请关注ki4网别的相干文章!