# import jisuanqi #将jisuanqi.py所有代码赋值给jisuanqi
# print(jisuanqi.add(3,4)) # 调用时,前面需要jisuanqi 名字
# print(jisuanqi.x)
# from jisuanqi import sub # 不需要所有代码,只需要某个方法时,使用这种方法
# from jisuanqi import sub,add # 需要多个方法时,使用逗号分隔开
# from jisuanqi import * #获得所有方法和变量,应尽量避免使用这种方法
# print(add(3,4)) # 调用时,无需使用jisuanqi 名字
# def add(x,y): # add 和引用add重名时,按代码执行顺序,从上往下,引用在前,定义在后时,执行后的方法
# return x + y + 2
#
# print(add(1,2))
# from jisuanqi import sub as jianfa # 给引用的方法重新命名
#
# print(jianfa(3,4))
#--------------
# package 包: 模块用来组织函数,包用来组织模块
# from package import module
# from package.package2 import module # 当包有多层时,包用 . 连接下一层
# from package.package2.module import module下的某个方法 # 调用多层包下面某个模块的方法
# import package 调用包时,执行了包下面的 __init__ 文件
# import sys,os
# print(os.path.dirname(os.path.abspath(__file__)))
# print(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
# 获得包所在的最上层目录,以便模块之间跨文件夹调用
# BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
# sys.path.append(BASE_DIR)
# if __name__ == '__main__':
# print('以下的代码,调用此文件模块时,不执行')
# print(__name__) # 在模块文件下输出为 __main__,而调用此模块显示的是该模块的文件名,因此用if来判断哪些内容不被模块来调用