Python中模块、包和库

本文详细介绍了Python中模块、包和库的概念,包括它们的作用、使用方式、避免命名冲突的方法,以及如何通过import和from...import...进行高效导入。通过实例演示了如何在不同层级的文件夹结构中导入和使用函数,以及库的管理和使用。
摘要由CSDN通过智能技术生成

python中模块、包和库

模块:是一个python文件(.py),拥有多个功能相近的函数或类,通常把功能相近的函数放在一个模块中。需要的时候就可以导入这些模块。例如,创建一个A.py文件一个main.py文件放入同一个文件夹。
在这里插入图片描述
A.py中定义两个函数,一个加法,一个减法。

# 定义一个函数,实现加法的运算
def add(a,b):
    return a+b
# 定义一个函数,实现减法的运算
def sub(a,b):
    return a-b

我们从main.py中调用这两个函数:

import A 

if  __name__=='__main__':
    a=A.add(3,5)    
    print(a)    
    b=A.sub(3,5)    
    print(b)

输出结果
在这里插入图片描述

包:为了避免模块名冲突,Python引入按目录来组织模块,将功能相近的模块(python文件),放在同一个文件夹下。(包也就是一个个文件夹),我们创建一个文件夹demo,一个子文件夹operate,其中A.py文件在demo/operate文件夹内,main.py在demo文件夹内
在这里插入图片描述
我们从main.py中调用A.py中的函数使用import

import operate.A 
if  __name__=='__main__':    
    a=operate.A.add(3,5)    
    print(a)    
    b=operate.A.sub(3,5)    
    print(b)

运行结果:
在这里插入图片描述
注意:这里的import不再是import A,而是import A所在文件夹下的A,因为A.py和main.py不再是同一个文件夹。也就是同一个包内

当包很多的时候,我们调用包内模块中的函数的时候就很麻烦,如上面,我们调用A中的add函数,必须写成operate.A.add(),这时我们就可以使用as关键字,我们只要在import operate.A后面加一个as 别名,这个一般自己取,后面调用函数时,直接别名.函数()就行了

import operate.A as op
if  __name__=='__main__':    
    a=op.add(3,5)    
    print(a)    
    b=op.sub(3,5)    
    print(b)

除了import导入库,我们还可以用from…import…,前面的我们使用import直接导入整个模块,模块中的函数我们都可以使用,现在我们使用from…import…则是导入具体的函数,比如我们想使用A.py中的add()函数,则可以写成from operate.A import add,使用from…import…时,我们调用库中的函数可以不写模块,包作为前缀,直接写函数名

from operate.A import add
if  __name__=='__main__':
    a=add(3,5)    
    print(a)    

注意我们不管是用import还是from…import…导入的都不可能导入文件夹,必须是模块或者是函数,如果上述写成import operate则会报错
当包有很多时,例如我们在demo/operate/functions文件夹内创建A.py,在demo/main/文件夹创建main.py
在这里插入图片描述
我们在main中调用A中的函数,就得写成import operate.functions.A as op或者from operate.functions.A import add

# import operate.functions.A as op
from operate.functions.A import add
if  __name__=='__main__':
    a=add(3,5)
    print(a)    

这时候import的内容就会非常乱而多,我们可以使用__init__函数,我们在operate文件夹下创建一个__init__.py,里面写入
在这里插入图片描述
这时候operate就会被当成一个包来处理,我们在main调用A中的函数时,就可以直接import包名
在这里插入图片描述
调用函数时,就可以写成包名.模块.函数()

库:具有相关功能的模块或包的集合,Python有很强大的第三方库,比如numpy库,我们也可以导入库

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值