老男孩教育专注IT教育10余年,只培养IT技术精英

全国免费咨询电话(渠道合作):400-609-2893

python模块有哪些?老男孩Python课程学什么?

老男孩IT教育

技术博客

2021年6月7日 18:02

python模块有哪些?接触过Python的人肯定听说过Python模块,它主要分为四大类:解释器内建模块、Python标准库、第三方模块、应用程序自定义模块;而且在Python的程序中,每个.py文件都可以被视为一个模块。

  python模块有哪些?接触过Python的人肯定听说过Python模块,它主要分为四大类:解释器内建模块、Python标准库、第三方模块、应用程序自定义模块;而且在Python的程序中,每个.py文件都可以被视为一个模块。

Python模块

  什么是模块?

  在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里代码就会越来越长,越来越不容易维护。

  为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里,这样,每个文件包含的代码就相对较少,很多编程语言都采用这种组织代码的方式。而这样的一个py文件在Python中称为模块(Module)。

  模块是组织代码的更高级形式,大大提高了代码的阅读性和可维护性。

  模块一共四种:

  解释器内建模块

  python标准库

  第三方模块

  应用程序自定义模块

  另外,使用模块还可以避免函数名和变量名冲突。相同名字的函数和变量完全可以分别存在不同的模块中,因此,我们自己在编写模块时,不必考虑名字会与其他模块冲突。

  模块导入

'''
# 方式1:导入一个模块
import 模块名
import 模块名 as 别名

# 方式2:导入多个模块
import (
   模块1
   模块2 
   )

import 模块1,模块2

# 方式3:导入成员变量
from 模块名 import 成员变量
from 模块名 import *
'''

  导入模块时会执行模块,多次导入只执行一次。

  案例:

cal.py
logger.py
main.py
# cal.py
def add(x,y):
	return x+y

def mul(x,y):
	return x*y
print("这是cal模块")

# logger.py
def get_logger():
    print("打印日志")
    
print("这是logger模块")    
    
# main.py
import cal
import logger

ret = cal.add(2,3)
print(ret)
logger.get_logger()

  __name__ ·

  __name__是python内置变量,存储的是当前模块名称。

  对于很多编程语言来说,程序都必须要有一个入口。像C,C++都有一个main函数作为程序的入口,而Python作为解释性脚本语言,没有一个统一的入口,因为Python程序运行时是从模块顶行开始,逐行进行翻译执行,所以,最顶层(没有被缩进)的代码都会被执行,所以Python中并不需要一个统一的main()作为程序的入口。

  在刚才的案例中三个模块都打印一次__name__

print("logger.py",__name__)
print("cal.py",__name__)
print("main.py",__name__)

  结果为:

cal.py cal
logger.py logger
main.py __main__

  通过结果发现__name__只有在执行模块中打印__main__,在其他导入模块中打印各自模块的名称。

  所以,__name__可以有以下作用:

  利用__name__=="__main__"声明程序入口。

  可以对导入的模块进行功能测试。

  老男孩Python课程学什么?Python开发基础、Python高级编程和数据库开发、前端开发、WEB框架开发、爬虫开发、全栈项目实战、数据分析、人工智能、自动化运维&开发、高并发语言GO开发等;且师资强大、项目丰富,助力你高薪就业。

  推荐阅读:

  Python常见模块之time模块的使用

  Python学习教程之基本数据结构的顺序表和链表

  Go语言切片是什么?老男孩GO语言好不好?

本文经授权发布,不代表老男孩教育立场。如若转载请联系原作者。