Python学习第八天——模块

模块是Python中组织代码的基本单元,包括.py文件、包、内置模块和C扩展。使用模块能提高开发效率,便于代码管理和重用。导入模块有两种方式:`import xxx`和`from xxx import yyy`,前者需要通过模块名调用成员,后者直接调用但可能引发名称冲突。解决循环导入问题可采用预先赋值、函数调用或调整文件结构。模块搜索路径包括内存、内置和环境变量,自定义模块应避免与内置模块同名。
摘要由CSDN通过智能技术生成

模块

一.什么是模块?
模块是一系列功能的集合体。
1.模块分为四种类别:
①一个.py就是可以是一个模块。
②包:就是一个存放__init__.py文件的文件夹。
③使用C编写并链接到Python解释器的内置模块。
④已被编译为共享库或DLL的C或C++扩展。
2.模块的三种来源:
①Python解释器自带的(内置库、标准库)
②第三方库
③自定义的库
二.为什么用模块?
1.拿来主义,提高开发效率。
2.从文件级别组织程序,方便管理并且解决代码冗余。
三.如何使用
(1)导入语法
1.import xxx
首次导入模块发生的事情:
①会触发xxx.py运行,所以会产生一个模块的名称空间。
②运行xxx.py的代码,将运行过程所产生名字都丢进模块的名称空间。
③在当前执行的文件的名称空间中拿到一个名字xxx,该名字就是指向模块的名称空间的。
必须xxx.yyy()调用模块中的变量或者函数等。
2.from xxx import yyy
首次导入模块发生的事情:
①会触发xxx.py运行,所以会产生一个模块的名称空间。
②运行xxx.py的代码,将运行过程所产生名字都丢进模块的名称空间。
③在当前执行的文件的名称空间中拿到一个名字yyy,该名字就是指向模块的名称空间的对应的名字。
优点:直接调用。 缺点:可能会造成名称冲突。
(2)使用技巧:
1.起别名
import spam as sp
2.导入所有函数的变量
from spam import *
通过在spam.py内__all__[‘money’,‘change’]设置,没有的访问不到。
(3)循环导入问题
不同文件之间的相互调用可能会造成错误。
解决方法:
①将变量名提前放置
x = 111
form m2 import y
②将调用写成函数

def f1():
    from m2 import y
  
x=111

③直接解决方法:
设置第三方文件避免循环导入问题出现。

(4)模块的搜索路径
优先级:
1.内存
2.内置
3.环境变量
不要将自定义的模块名与内置模块名相同,会导致自定义的模块无法使用,因为内置模块的优先级高。

导用模块时的分隔符:.(点)
from aaa.m1 import f1
注意:
import aaa.m1.f1 报错
因为此时点是分隔符的意思

将路径写入环境变量:

import sys
sys.path.append(r'F:\code\python\ATM')
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值