python实现模块

在开发时不但要使用系统自带模块、第三方提供的模块,我们也要自己实现模块,供程序调用,可以减少代码,避免重复造轮子

定义模块

在前面的学习中我们知道一个py文件,就可以认为是一个模块,编写一个最简单的py文件,该文件中只实现一个加法功能,

my_add.py文件代码:

#coding=utf-8

def add(i,j):
    return i+j

调用模块

根据前面的学习中,使用import关键字导入模块,
在test.py文件中调用上面模块,代码如下:

#coding=utf-8
import my_add

print(my_add.add(1,2))

问题

如果在my_add.py文件中,也执行了add()函数,代码如下:

#coding=utf-8

def add(i,j):
    return i+j

add(3,4)

那么再执行test.py文件时,会打印两次

解决

通过判断__name__来解决,

__name__的说明见链接:
http://www.malaoshi.top/show_1EF1Sg9sxIQJ.html

#coding=utf-8

def add(i,j):
    return i+j

if __name__=="__main__":
    print(add(1,2))

再执行test.py文件时,打印一次


原文出处:/show_1EF2A2HTsyb1.html