python模块的定义_初识python: 模块定义及调用

一、定义

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

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

二、导入模块方法

方法一:import 模块名                                             =》导入模块中的函数、变量等

方法二:import 模块名1,模块名2                           =》导入模块中的函数、变量等

方法三:from 模块名 import *                                   =》导入模块中的所有内容

方法四:from 模块名 import 变量/函数等 as 别名    =》导入模块中的变量、函数并给一个别名

三、import本质

导入模块的本质就是把python文件解释一遍

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

四、添加环境变量

importos,sysprint('当前目录的相对路径:',__file__) #获取当前目录的相对路径

print('当前目录的绝对路径:',os.path.abspath(__file__)) #获取当前目录的绝对路径

print('当前目录的上级目录:',os.path.dirname(__file__)) #返回当前文件的上级目录

BASE_PATH= os.path.dirname(os.path.dirname(os.path.abspath(__file__))) #获取当前目录的上上级目录

sys.path.append(BASE_PATH) #添加环境变量#sys.path.insert(0,BASE_PATH) # 指定位置插入环境变量,不建议这么用

五、示例

注:以下所有导入模块操作,都在main.py执行。

目录结构如下:

1、导入单个模块:

import module_1 #import 导入单个模块

print(module_1.name) #调用模块中的变量

module_1.say_hello() #调用模块中的方法

2、导入多个模块:

import module_1,module_2 #导入多个模块

module_1.say_hello()

module_2.regin()

3、导入模块中的所有内容:

from module_1 import * #导入模块中的所有内容,不建议此用法

print(name)

4、导入模块变量并指定别名

from module_1 import name as lzh_name #使用别名

name = 'module_test'

print(name)print(lzh_name)

5、导入包,即:执行该包下的__init__.py文件

importos,sys

BASE_PATH= os.path.dirname(os.path.dirname(os.path.abspath(__file__)))

sys.path.append(BASE_PATH)#末尾位置添加环境变量#sys.path.insert(0,BASE_PATH) # 指定位置插入环境变量,不建议这么用

import package_test

package_test下_init_内容:

#!/user/bin env python#author:Simple-Sir#time:2019/8/20 21:46#import test1

from . import test1 #. 从当前目录导入模块

print('from the packg packgtest.')

6、导入包,并调用模块:

importos,sys

BASE_PATH= os.path.dirname(os.path.dirname(os.path.abspath(__file__)))

sys.path.append(BASE_PATH)#末尾位置添加环境变量#sys.path.insert(0,BASE_PATH) # 指定位置插入环境变量,不建议这么用

importpackage_test

package_test.test1.test()

7、优化导入模块:

比如:重复使用module_2.regin()时:

from module_2 importregindeffunc1():

regin()print('in the func1')deffunc2():

regin()print('in the func2')

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值