学习资源:廖雪峰Python教程
重点记录与c,java有区别的知识点,红色部分重点注意。
五、模块(Module)
为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里,这样,每个文件包含的代码就相对较少,在Python中,一个.py文件就称之为一个模块(Module)。
好处:
①大大提高了代码的可维护性
②可以避免函数名和变量名冲突
注意:
①模块名要遵循Python变量命名规范,不要使用中文、特殊字符
②模块名不要和系统模块名冲突,最好先查看系统是否已存在该模块,检查方法是在Python交互环境执行import abc,若成功则说明系统存在此模块
还可以使用包(Package)按目录来组织模块,每一个包目录下都会有一个__init__.py的文件,这个文件是必须存在的,否则就会被当成普通目录,而不是一个包。
1.使用模块
作用域
①正常的函数和变量名是公开的(public),可以被直接引用
②类似__xxx__这样的变量是特殊变量,可以被直接引用,但是有特殊用途,比如上面的__name__就是特殊变量,我们自己的变量一般不要用这种变量名
③类似_xxx和__xxx这样的函数或变量就是非公开的(private),不应该被直接引用,Python并没有一种方法可以完全限制访问private函数或变量,但是,从编程习惯上不应该引用private函数或变量。
④常用的代码封装和抽象的方法:外部不需要引用的函数全部定义成private,只有外部需要引用的函数才定义为public:
#private函数
def _private_1(name):
return 'Hello, %s' % name
#private函数
def _private_2(name):
return 'Hi, %s' % name
#public函数
def greeting(name):
if len(name) > 3:
return _private_1(name)
else:
return _private_2(name)
2.模块搜索路径
当我们试图加载一个模块时,Python会在指定的路径下搜索对应的.py文件,如果找不到,就会报错。添加自己的模块搜索路径就可以把自己的模块放在这个路径下,也能import成功:
import sys
sys.path.append('D:/Python/Works')
这种方法运行时修改,运行结束后失效