Python入门学习笔记——14.模块与包

###################################################
# 1.在当前脚本中如果需要使用一些已经定义好的功能时,可以选择对应的模块,导入后使用

# 例如使用系统模块 time
import time
print(time.time())

# 例如使用自定义异常处理 模块
import My

# 使用模块中定义的类
obj = My.MyException()
print(obj)


# 使用模块中的函数
My.func()


# 使用模块中定义的变量
print(My.love)

print(My.__name__)


# 想使用模块中的内容时,除了导入模块,还可以在在指定模块中导入指定的内容
from My import love  # 导入My模块中的love变量
from My import love as lv # 导入My模块中的love变量,起个别名
print(love)
print(lv)

###################################################
# 2.如果需要使用包可以直接导入包

# 1. 直接把包当作模块导入,可以用的内容是 __init__.py文件中定义的
# 不推荐这种用法
import package
package.funcpa()


#2。 可以导入模块中的所有内容
# 注意这个内容是由 __init__.py文件中定义的 __all__ 这个变量指定的模块
# 好处是可以直接导入指定的所以模块,并且使用时,直接使用指定的模块名即可
from package import  *
a.funca()
b.funcb()


# 3。 导入指定包中的指定模块
from package import a
a.funca()

# 4。从指定包的指定模块中导入指定的内容
from package.b import funcb
funcb()

# 5。从指定包的子包中导入模块
from package.ps import c
c.funcc()

# 6。 从指定包的子包的指定模块中导入指定内容
from package.ps.d import funcd
funcd()


# 导入方式的分类 绝对导入,相对导入


###################################################
# 3.导入方式的分类

'''
# 绝对导入
# 绝对导入的方式会使用[搜索路径]去查找和导入指定的包或模块
import 模块
import 包
import 包.模块
from 模块 import 内容
from 包 import 模块
from 包.模块 import 内容


# 相对导入 注意:相对导入只能在非主程序的模块中使用,不需要直接运行的模块文件
from .包名/模块名 import 模块/内容
from ..包名/模块名 import 模块/内容

. 代表当前
..代表上一级
'''

# 导入c模块。c模块中使用了相对导入
from package.ps import c

# 了解 搜索路径
# 在导入模块或包时,程序查找的路径
'''
主要的搜索路径
1. 当前导入模块的程序所在的文件
2. python的扩展目录中 C:/Users/username/AppData/local/.../Python37/lib
3. python解释器指定的其它 第三方模块位置 /lib/sitepackages
'''
# 在当前脚本中查看 包或模块 的 搜索路径
import sys
print(sys.path)
'''
[   
    '', 
    '/Library/Frameworks/Python.framework/Versions/3.7/lib/python37.zip', 
    '/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7', 
    '/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/lib-dynload',
    '/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages'
 ]
'''

# 可以自己定义一个路径,加入到搜索路径中
sys.path.append('/Users/yc/Desktop')

###################################################
# 4.单入口程序

# 单入口文件是作为程序直接被运行的唯一文件,其它都是作为模块或包,被导入单入口中去执行
'''
ATM/
|---- main.py  # 当前程序的主入口文件,单入口文件,唯一直接运行的文件
|---- package/ # 主要程序模块包
|---- |----- __init__.py  # 包的初始化文件
|---- |----- View.py      # 视图函数模块
|---- |----- Controller.py# 控制器模块
|---- |----- Card.py      # 银行卡模块
|---- |----- User.py      # 用户模块
|---- databases/ # 数据存储文件夹
|---- |---- user.txt
|---- |---- user_id_card.txt

main是程序的主入口文件,会被直接作为主程序运行,所以main.py文件中必须使用 绝对导入 方式
'''

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值