Python_模块Module

简介

随着程序的开发,功能会不断添加,为了使结构清晰、易于维护,我们通常会将其拆分成好多个文件。除此之外,还可能会在多个程序中使用一些已编写过的函数或变量,但为了程序的简洁又不想重复定义函数或变量,为此,可以将已经定义好的函数或变量放在一个文件中,这样的文件被称为模块。或者可以直接将Python文件理解为一个模块。

 

定义:

用来从逻辑上组织Python代码(变量、函数、类、逻辑:实现一个功能)本质就是.py结尾的Python文件(文件名:test.py, 对应的模块名:test)

 

导入方法:

import moduleName 
from moduleName import * (*是通配符,所以会把module里所有变量和函数等都导入到新的Python文件中,如果不想全部导入我们可以按需导入某个具体函数,即将*改为你想导入的函数名即可,可以同时导入多个函数)
from moduleName import func as newFunc(相当于给导入的函数起一个新的模块名)
下面两种方法在新的Python文件中都不需加上模块名前缀就可以直接使用

 

 

模块import本质:

导入模块的本质就是把Python文件解析一遍,并在导入的文件中重新定义一个同模块名的变量,将前面解析的内容赋值给这个新定义的模块名,这时我们就可以通过这个模块名调用里面的函数和变量了(这时新定义的模块名指向导入的模块)

 

 

 

 

 

form module import func本质:

相当于在导入的文件中直接从module中复制出一份func函数导入到文件中,这时就相当于在导入的文件中定义了func函数一样,所以我们直接通过函数名或变量名直接使用,不需加上模块名前缀

 

包的定义:

用来从逻辑上组织模块的,本质就一个目录(必须带有一个__init__.py文件)

包的import本质:

导入包的本质就是执行该包下的__init__.py文件

如果模块在其他包中,而导入包又是一个目录,导入包的本质就是执行该包下的__init__.py文件,那么怎么导入该包中的模块呢?我们可以通过修改搜索路径来找到该模块

import sys, os  
  
x = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) #根据模块位置定义路径  
sys.path.append(x) #将该搜索路径添加到环境变量中去  


from 包名 import 模块名

模块名.属性()


也可以通过修改导入的包的__init__.py文件来导入该模块,即在导入的包中的__init__.py文件中先导入该模块(from 包名 import 模块名    相对导入)

 

 

 

 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值