# @Time:2020/12/29 16:44
# @Author:李 祥
# @File:Module.py
# @Software:PyCharm
# 模块可理解为 一个Python文件
# 模块的导入
# 导入模块 import
import math # 按住 ctrl + 鼠标左键 可跳转到对应文件中
print(math.pi) # 模块的调用
# 导入自己定义的模块
import myModule
myModule.add2Num(1, 2)
# 模块的运行
# 模块方式
import myModule2 # 自定义模块的执行只会有一次。
import myModule2 # 当再次导入自定义模块时,将不会有作用。
# 脚本模式:自身模块开发时,作为独立程序由解释器直接运行
# __name__ 的内容为字符串:__main__
# 模块模式:被其他模块导入,为其他模块提供资源(变量、函数、类的定义)
# __name__ 的内容为字符串:myModule2 (模块的名字)
# 模块搜索路径
# (1)内置模块(例如:math)
# (2)当前模块所在的目录
# (3)环境变量PYTHONPATH(默认包含python的安装路径)
# (4)Python安装路径下的Lib文件夹
# (5)lib文件夹下的site-packages文件夹(第三方模块)
# (6)sys.path.append()追加的目录
import sys
print(sys.path)
sys.path.append("F:\study_project\模块与包\lib\myModule2.py")
print(sys.path)
# 系统内置模块不在lib文件夹
# 查看内置模块
print(sys.builtin_module_names)
# 指定搜索路径
# 以后放在其他电脑运行,准确找到文件夹
# 绝对路径:从盘符出发
# 相对路径:不是从盘符出发
import os
print(__file__)
print(os.path.dirname(__file__)) # 获取各种系统下指定文件夹所在目录
# 不能使用字符串截取,因为不同操作系统的路径表示不同
sys.path.append(os.path.dirname(__file__) + r"\lib")
print(sys.path)
# 其他导入模块的方式:
# from....import
from myModule import add2Num
# from myModule import add2Num , ....
# from myModule import *
# import myModule as a # 简化名字
# @Time:2020/12/29 16:49
# @Author:李 祥
# @File:myModule.py
# @Software:PyCharm
def add2Num(a,b):
print(a + b )
# @Time:2020/12/29 16:52
# @Author:李 祥
# @File:myModule2.py
# @Software:PyCharm
# 直接运行源代码 (脚本方式)
def add2Num(a, b):
print(a + b)
# print(__name__) # 脚本方式:__main__
# 模块方式:自己文件的名称(myModule2)
if __name__ == '__main':
print("myModule2")
i = 10
print(i)