Python发布自定义模块(五)

php开发中,我们定义好了一个公用函数,则会将代码放在公用的文件中,需要用到的时候,使用require或者include函数包含这个公用的文件,即可在程序中实现可重用。接下来看看python中如何操作

1. 在e:/python目录下新建一个文件夹nester做实验,建立2个py文件分别是nester.pysetup.py

          nester.py

#计算圆的面积,参数为半径
p = 3.14
def area(r=1):
    # p = 3.14
    return p * r

          setup.py

from distutils.core import setup
 
setup (
    name = 'nester',
    version = '1.0.1',
    py_modules = ['nester'],
    author = 'Rick.xu',
    author_email = 'jkxyx205@163.com',
    description = 'calculate area of circle',
)

注意:
name和py_modules这两个参数一定要与nester.py文件名相同,否则发布安装时会发出模块文件找不到的错误

2. 发布模块

发布模块,但还不能在程序中被调用,还需要安装,接着看

3.安装模块

4.使用模块

import nester
nester.area(2)

这里需要注意一个问题,很多新手会这样调用:area(2)
系统会发出这样的一个错误信息:NameError: name ‘area’ is not defined
原因是当模块创建以后,系统自动创建一个与模块名称相同的命名空间(nester),并将函数放在命名空间中,简单的通过area调用,自然无法找到函数,正确的方法:
nester.area(2)
直接把命名空间带上即可。