第9章 模块和包

模块化编程

模块就是python程序

导入模块

本质:将模块的全部代码加载到内存并执行,然后将整个模块内容赋值给与模块同名的变量。模块中的程序单元就是这个变量的成员。

导入方法

  1. 导入模块的所有成员:import 模块名 [as 别名]——调用成员时,要加模块名前缀
  2. 导入模块内指定成员:from 模块名 import 成员名 [as 别名]——可直接调用成员
  3. 导入模块内不以下划线开头的成员:from 模块名 import * ——可直接调用成员
    1. 可用__all__变量指定可导入的模块成员:all = [‘模块成员1’, ‘模块成员2’]
    2. 常用于包的__init__.py文件
    3. 在成员名相同时有一定风险
  • 导入多个模块时,用逗号分隔
  • 模块名的别名可用于调用模块,成员名的别名可用于调用成员

访问说明文档

位于程序开始位置的字符串会成为该程序的说明文档,可通过__doc__属性访问

运行模块

python 模块名.py ——模块名即文件名

模块内置的__name__变量,默认值是模块名,直接用python命令运行时,变成__main__,如果希望模块在导入时不要执行,仅在python命令中执行,可在模块中添加代码:

if __ name__ == '__main__': 各程序成员

# 加载模块

默认的加载路径

通常把扩展模块放在【lib\site-packages】下,python解释器可以查看所有默认的模块加载路径

import sys
print(sys.path)

设置window环境变量

【开始】——搜索【环境变量】——编辑账户的环境变量——新建——

变量名:PATH

变量值:.; d:\python_module(其中:【.】表示当前路径)

# 包

包本质上是模块,物理上是包含多个模块源文件的文件夹,包可以包含另一个包

定义包:创建文件夹,添加【inti.py】文件——常用于集成包内各模块的成员

from . import 模块名    #从当前路径导入模块
from .模块名 import *   #从模块导入所有成员

导入包:import 包名——本质:加载并执行包下的【inti.py】文件

导入包内成员:

import 包名
import 包名.成员名        #调用时要加前缀
from 包名 import 成员名   #可直接调用

注意:如果【inti.py】文件没有集成包内各模块的成员,导入顺序为:包-模块-模块成员

# 查看模块内容

  1. 模块成员
import 模块名
dir(模块名)                                        #查看全部成员
[i for i in dir(模块名) if not i.startswith('_')]  #查看供外部调用的成员
模块名.__all__                                     #模块带__all__变量时适用
  1. 帮助信息。help(模块名.成员名)——实质:调用__doc__属性
  2. 源文件路径(便于查看源代码)。模块名.file
    部分不是用python语言写的底层交互模块可能没有__file__属性
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Ailsa2019

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值