模块与包

目录

模块的作用

模块就是包含python定义和声明的文件,文件名就是模块名加.py后缀
使代码结构更清晰
方便管理
可重复利用

模块的搜索路径

1、首先查找同名的内建模块 2、 在sys.path中从左道友查找
首先是脚本所在目录
在环境变量PYTHONPATH中指定的路径列表中依次搜索
在python安装路径中搜索

import导入

 # aaa.py文件
def aa():
    print('aa')

def bb():
    print('bb')

ccc = 'ccc'

导入aaa模块

import aaa
aaa.aa() --> 'aa'
aaa.bb() --> 'bb'
aaa.ccc --> 'ccc'
  • 只有第一次导入是才执行模块中的代码
  • 每个模块都是一个独立的名称空间

首次导入模块,会做三件事
1、为源文件(aaa模块)创建新的名称空间
2、在新的名称空间中执行模块代码
3、创建一个名字(aaa)来引用这个命名空间

from … import …

from aaa import aa

对比import aaa,会将源文件的名称空间’aaa’带到当前名称空间中,使用时必须是aaa.名字的方式

而from 语句相当于import,也会创建新的名称空间,但是将aaa中的名字直接导入到当前的名称空间中,在当前名称空间中,直接使用名字就可以了

还有一种方法是*,导入全部

from aaa import *

可以使用all[]控制导入的方法

__all__['aa'] # 这样在使用*时,就只能导入规定的方法

包就是一个包含init.py文件的目录

无论是import形式还是from...import形式,凡是在导入语句中(而不是在使用时)遇到带点的,都要第一时间提高警觉:这是关于包才有的导入语法。并且.左边必须是一个包

sys.path.append('..')  # 把上层目录加入搜索路径
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值