python中模块的定义与导入

模块

在python中,模块是最高级别的的程序组织单元,模块将程序代码和数据封装起来,以便增加代码的复用性。通常而言,一个模块对应着一个.py文件,每一个文件都是一个模块。
模块导入其他模块之后,其他模块便可以使用导入模块的内容。

为什么要使用模块

模块化的思维是面向对象的编程语言中的一个重要的思想。在python中,允许将许多独立的文件链接成一个更大的程序系统。python通过模块化的思想,将许多的部件组织成为系统。一个python模块文件的顶层定义的变量都成了被导入模块的对象的属性,也就是说,在导入过程中,模块文件的全局作用域变成了模块对象的命名空间。

python的模块在程序编写中的作用,主要有以下三点:

  • 代码重用

    • 在模块文件中的代码是永久保存的,而不像在python的交互模式下输出的代码,当退出时代码就会消失。在py模块文件中的代码会被永久保存下来,可以任意使用,这为代码的复用提供了极大的便利。
  • 系统命名空间的划分

    • 模块是python中最高级别的程序组织单元。python将变量名封装进了自包含的软件包,这一点对于避免命名冲突有很大的帮助。事实上,所有执行的代码以及对象都封装在模块中。
  • 实现共享服务和数据

    • 模块对于实现跨系统共享组件是很方便的,只需要一个拷贝即可,如当你需要一个全局对象的时候,你可以将它编写在一个模块中,以供多个函数或者文件调用。

模块的定义

在了解了模块的概念以及作用之后,我们便需要知道模块的定义以及使用方法。根据模块的代码规范,一个模块中通常需要包含以下内容:

  • 可以实现单一功能的函数
  • 测试代码

模块的使用

  • 模块是python中最大的程序组织单元,也是一个相对独立的命名空间,因此,模块在使用之前,需要进行导入

模块的导入与使用方法

方法01:
  • 模块的导入使用import

      >>improt module_name
      >>module_name.function_name
      >>module_name.class_name
    

python中模块的导入就相当于把模块中的内容先执行了一遍
module_name的命名需要遵守python中的命名规范,如果module_name是以数字开头的,在进行模块导入的时候会出现错误,则需要使用importlib模块

>>#导入一个名称为01的模块 
>>import importlib #导入importlib模块
>>f_name = importlib.import("01") #相当于导入了一个名称为01 的模块,并且把模块赋值给了变量f_name
方法02:

import module_name as a # 将模块module赋值给了变量a
即在导入模块时,将其赋值给了a

用法与方法1相同,即在引用时,将模块名替换为变量名

方法03:
>> from module_name import func_name, class_name
  • 使用该语法有选择性导入
  • 导入之后可以直接使用,不需要加模块名作为前缀

from module_name import *

  • 使用该语法导入模块内的所有内容
  • 导入之后可以直接使用,无需加模块名作为前缀
  • 不能防止命名污染

测试代码

  • 为了增加代码的复用性以及可维护性,每个模块最好添加自己的测试代码
  • 测试代码在正常情况下无需执行,只有在模块作为主程序执行时再执行
  • 因此,需要利用如下代码:
if __name__ == '__main__':
  • 该语句下的代码块,只有当模块作为主程序运行时才会有效
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值