在Python中有一个概念叫做模块(module),比如在Python中要调用sqrt函数,必须用import关键字引入math这个模块,下面就来了解一下Python中的模块。

说的通俗点:模块就好比是工具包,要想使用这个工具包中的工具(就好比函数),就需要导入这个模块

变量(全局变量 局部变量 实例属性 类属性) -> 函数(实例方法 类方法 静态方法)

-> 类 -> 模块 -> 包 -> 工程(项目)

1、定义:

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

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

2、导入方法:

importmodule_nameimportmodule1_name,module2_namefrom module_alex import *(导入模块的所有变量和方法),不提倡使用,相当于把模块的代码都复制过来from module_alex importm1,m2,m3(导入模块中的方法)from module_alex import logger as logger_alex

格式: import 模块名

使用的格式:

模块名.全局变量名

模块名.函数名

模块名.类名

hm_sum.py

#如果一个模块中使用了__all__#只用在__all__的列表中的字符串才可以在其他模块中使用#条件 其他模块必须是通过from 模块名 import * 方式导入的模块

__all__ = ["name"]#全局变量

name = "加法运算"

#函数

defadd2num(a, b):return a +b#类

classPerson(object):defeat(self):print("人会吃饭")#git 或者是 svn -> 远程仓库#在自己定义一个模块中 进行自测 (程序员做的事情)

#定义一个函数 -> 自测函数

defmain():print(name)

ret= add2num(10, 20)print(ret)

p=Person()

p.eat()print(__name__) #__main__

if __name__ == '__main__':

main()

hm_test.py

#测试人员自己创建的模块#如果一个模块被另一个模块导入后 就把这个模块里面可以执行的代码都执行一遍

importhm_sumdefmain():print(hm_sum.name)

ret= hm_sum.add2num(10, 30)print(ret)

p=hm_sum.Person()

p.eat()if __name__ == '__main__':

main()

__name__在本身其模块里调用是__main__,在其它模块里调用是模块名

格式: from 模块名 import 全局变量  函数  类

from hm_sum importname, add2num, Person#使用from-import 在使用的时候 不需要在写模块名#注意和本模块的名字冲突

print(name)#def add2num(a, b):#return a - b

print(add2num(10, 20))

p=Person()

p.eat()

import 模块名 as 别名

importhm_sum as hmhm_sumprint(hmhm_sum.name)

from hm_sum importname as my_name

name= 20

print(name)print(my_name)

导入包中的模块

import 包名.模块名 as 别名

3、import本质(路径搜索和搜索路径)

导入模块的本质就是把python文件解释一遍,import test (test='test.py all code')

import module_name

module_name = all_code,把所有代码复制给module_name这个变量

调用时,模块名.变量 模块名.方法

from module_name import m1

只把这个模块中的m1放到当前位置,调用时直接使用

导入包的本质就是执行该包下的_init_.py文件,import 包名

import module_name----->module_name.py---->module_name.py的路径---->sys.path

4、导入优化

from module_test import test

5、模块的分类:

a:标准库

b:开源模块

c: 自定义模块

python定义模块结束语_python-模块定义、导入、优化相关推荐

  1. py文件 添加模块映射_Python模块的定义,模块的导入,__name__用法实例分析

    本文实例讲述了Python模块的定义,模块的导入,__name__用法.分享给大家供大家参考,具体如下: 相关内容: 什么是模块 模块的导入 模块的导入 自模块的导入 同级目录导入 不同级目录导入 目 ...

  2. python导入模块语句_python 模块导入详解

    本文不讨论 Python 的导入机制(底层实现细节),仅讨论模块与包,以及导入语句相关的概念.通常,导入模块都是使用如下语句: import...import... as ...from ... im ...

  3. python所有模块图解_Python模块结构和布局

    用模块来合理组织你的Python代码是简单又自然的方法.你应该建立一种统一且容易阅读的结构,并将它应用到每一个文件中去.下面就是一种非常合理的布局: (1) 起始行(Unix) (2) 模块文档 (3 ...

  4. python模块手册_python模块说明

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! python模块说明:类似于函数式编程和面向过程编程,函数式编程则完成一个功能, ...

  5. python3导入模块原理_Python模块导入机制与规范

    前言 在我们平常工程里使用Python的过程中,经常需要解决各个模块的导入问题,而且也常常遇到引用路径查找不到.交叉导入模块等等问题,故写这篇文章,旨在讲述Python的模块导入机制和我们平时大型项 ...

  6. python模块讲解_python模块详解

    使用python时,常常会涉及到库的调用,这就需要掌握模块的基本知识. 本文分为如下几个部分概念说明 模块的简单调用 包的导入 特殊的__init__.py文件 导入模块的搜索路径 __all__ 绝 ...

  7. python 阮一峰_Python模块整理

    这两天学习了一些基本的Python模块,现在做一些整理,理清楚 查看大佬的理解:http://www.cnblogs.com/alex3714/articles/5161349.html 开始时间:1 ...

  8. python package什么意思_Python模块、包(Package)概念与用法分析

    本文实例讲述了python模块.包(package)概念与用法.分享给大家供大家参考,具体如下: python中"模块"的概念 在开发中,我们会有很多函数,我们可以把这些函数都放到 ...

  9. python怎么宏定义符号变量_python中定义宏

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 什么是宏? 宏类似python中的函数,可以传参数进去,但不能有返回值! 在实际 ...

最新文章

  1. nginx rewrite中last和break的区别
  2. 专访盖茨:我的梦想是实现生命价值平等[转]
  3. 深度学习DL蒙特卡洛法平衡态分子动力学模拟并计算苯酚键值
  4. JavaWeb 入门篇(4)HttpResponse 详解 HttpRequest 详解
  5. 电脑服务器注册表,电脑注册表怎么清理 服务器安全狗清理注册表教程
  6. 【NLP傻瓜式教程】手把手带你HAN文本分类(附代码)
  7. EFCore+Mysql仓储层建设(分页、多字段排序、部分字段更新)
  8. 三星note3 android4.3,三星N9002 (Note3联通双卡版 Android4.3)一键救砖教程,轻松刷回官方系统...
  9. 企业信息化解决方案——插件式平台开发框架
  10. 计算机图形学完整笔记(八):曲线曲面 - 2
  11. vlan间路由详细实验步骤
  12. 物联网知识1---RFID
  13. Publish报文及其响应分析
  14. 敏捷组织︱如何打造VUCA时代的敏捷型组织?
  15. 数字迷阵(矩阵快速幂+结论题)
  16. 三下乡辅导孩子计算机知识,【“三下乡”社会实践活动】计算机学院——每个课程,都是你我成长的故事...
  17. 3 海康视觉平台VisionMaster 上手系列:通讯
  18. cuckoo sandbox如何使用
  19. 电脑组装需要准备的配件清单,仅供参考
  20. 南通开发区:打造长三角大数据产业发展高地

热门文章

  1. texshop 使用技巧
  2. eclipse每次闪退后都提示查看\workspace\.metadata\.log
  3. Win8系统如何关闭用户账户控制UAC
  4. 万物互联时代 如何用好智能家居这把双刃剑?
  5. Enterprise Library 中加密数据库连接字符串
  6. TeeChart.Pro.v7.06在BDS2006中的安装(For Win32)
  7. zookeeper使用分布式锁
  8. 第一个简单的注册页面
  9. 【DotNet加密方式解析】-- 好文收藏
  10. 初学python之生成器