0
点赞
收藏
分享

微信扫一扫

极客编程python入门-模块使用


模块


在Python中,一个.py文件就称之为一个模块(Module)

为了避免模块名冲突,Python又引入了按目录来组织模块的方法,称为包(Package)


极客编程python入门-模块使用_模块



一个abc.py的文件就是一个名字叫abc的模块,一个xyz.py的文件就是一个名字叫xyz的模块


极客编程python入门-模块使用_模块_02


类似的,可以有多级目录,组成多级层次的包结构。比如如下的目录结构:


mycompany
├─ web
│ ├─ __init__.py
│ ├─ utils.py
│ └─ www.py
├─ __init__.py
├─ abc.py
└─ utils.py


文件​​www.py​​​的模块名就是​​mycompany.web.www​​​,两个文件​​utils.py​​​的模块名分别是​​mycompany.utils​​​和​​mycompany.web.utils​​。


总结


1、模块是一组Python代码的集合,可以使用其他模块,也可以被其他模块使用。


2、创建自己的模块时,要注意:


  • 模块名要遵循Python变量命名规范,不要使用中文、特殊字符;


  • 模块名不要和系统模块名冲突,最好先查看系统是否已存在该模块,检查方法是在Python交互环境执行​​import abc​​,若成功则说明系统存在此模块。


使用sys模块的第一步,就是导入该模块:


import sys


导入​sys​模块后,我们就有了变量​sys​指向该模块,利用​sys​这个变量,就可以访问​sys​模块的所有功能。


作用域


在一个模块中,我们可能会定义很多函数和变量,但有的函数和变量我们希望给别人使用,有的函数和变量我们希望仅仅在模块内部使用。在Python中,是通过_前缀来实现的。


正常的函数和变量名是公开的(public),可以被直接引用,比如:abc,x123,PI等;


类似__xxx__这样的变量是特殊变量,可以被直接引用,但是有特殊用途,比如上面的__author__,__name__就是特殊变量,hello模块定义的文档注释也可以用特殊变量__doc__访问,我们自己的变量一般不要用这种变量名;


类似_xxx和__xxx这样的函数或变量就是非公开的(private),不应该被直接引用,比如_abc,__abc等;


ef _private_1(name):
return 'Hello, %s' % name

def _private_2(name):
return 'Hi, %s' % name

def greeting(name):
if len(name) > 3:
return _private_1(name)
else:
return _private_2(name)

小结


外部不需要引用的函数全部定义成private,只有外部需要引用的函数才定义为public


举报

相关推荐

0 条评论