微笑如一
首页 网络收藏 分解查字

标签:Python 模块
浏览:236
内容:
模块是非常简单的Python文件,单个Python文件就是一个模块,两个文件就是两个模块。 import语句是用来导入模块或者从模块里导入特定的类或者函数。 组织模块 一个包(package)就是放在一个文件夹里的模块集合。包的名字就是文件夹的名字。我们需要做的是告诉python这个文件夹是一个包,并且把一个名为__init__.py的文件(通常是空的)放在这个文件夹里。如果我们忘记创建这个文件夹,就没法从这个文件夹里面导入那些模块。 绝对导入 要先给出这个模块、函数的完整路径,如在main.py需要访问produces模块中的Product类,使用使用如下的方法进行绝对导入 相对导入 在包(package)的情况下,如果知道父模块的名称,那么就可以使用相对导入。比如当前在products模块下工作,想从隔壁的database模块导入Database类,就可以使用相对导入: 数据访问权限 大部分的面向对象的编程语言都有一个“访问控制”的概念,比如私有的(private)、受保护的(protected)和公共的(public)。但python并没有这种强制规定。在技术层面上,一个类里的所有方法和属性都是公共可访问的,以下有三种形式建议不同的访问形式: 1、使用注释进行提示建议。如可以在docstring里面放一个提示来表明这个方法只是内部使用的 2、给某个属性或者方法加一个下划线的前缀,大部分python程序员会把这个解释为“这是个内部变量,使用之前要三思” 3、给某个属性或者方法添加一个双下划线的前缀,强烈建议为内部变量。访问时需要名称改编(name mangling),即在该方法或者属性前面自动加一个_的前缀(单下划线)。 一般情况下,不会使用加下划线或者双下划线的变量。 从包里直接导入变量 在ecommerce包里有两个模块,一个是database.py,另一个是products.py,假设database里面有一个db变量,这个变量在很多地方都会被访问,那么我们下面的代码将可以实现用import ecommerce.db取代import ecommerce.database.db。
联系: web@xiaoruyi.cn