__name__方法
# myadd.py
def yp_add(a,b):
return a+b
def yp_sub(a,b):
return a-b
# 测试代码
if __name__ == "__main__":
print(yp_add(3,4))
print(yp_sub(1,4))
import myadd
print(myadd.yp_add(2,3))
print(myadd.yp_sub(1,2))
__all__方法
from myadd import *
print(myadd.yp_add(2,3))
print(myadd.yp_sub(1,2))
如果一个文件中有__all__变量,那么也就意味着这个变量中的元素,
不会被from xxx import *时导入
__all__ = ["yp_add"]
def yp_add(a,b):
return a+b
def yp_sub(a,b):
return a-b
if __name__ == "__main__":
print(yp_add(3,4))
print(yp_sub(1,4))
导包
包将有联系的模块组织在一起,即放到同一个文件夹下,
并且在这个文件夹创建一个名字为__init__.py 文件,那么这个文件夹就称之为包
有效避免模块名称冲突问题,让应用组织结构更加清晰
from mymath import *
print(myadd.yp_add(2,3))
print(mysub.yp_sub(1,2))
新建一个__init__.py文件在包下
__all__它控制着 from 包名 import *时导入的模块
__all__ = ["myadd","mysub"]