展开
拓展 关闭
订阅号推广码
GitHub
视频
公告栏 关闭

模块

  • 简介
Python 模块(Module),是一个 Python 文件,以 .py 结尾.  模块能定义函数,类和变量,模块里也能包含可执行的代码.

模块的作用:  python中有很多各种不同的模块, 每一个模块都可以帮助我们快速的实现一些功能, 比如实现和时间相关的功能就可以使用time模块
我们可以认为一个模块就是一个工具包, 每一个工具包中都有各种不同的工具供我们使用进而实现各种不同的功能.

大白话:模块就是一个Python文件,里面有类、函数、变量等,我们可以拿过来用(导入模块去使用)
  • 导入模块
模块在使用前需要先导入 导入的语法如下:

常用的组合形式如:
import 模块名
from 模块名 import 类、变量、方法等
from 模块名 import *
import 模块名 as 别名
from 模块名 import 功能名 as 别名
  • 案例1
import 模块名
import 模块名1,模块名2
模块名.功能名()

# 导入时间模块
import time
print("开始")
# 让程序睡眠1秒(阻塞)
time.sleep(1)
print("结束")
  • 案例2
from 模块名 import 功能名
功能名()

# 导入时间模块中的sleep方法
from time import sleep
print("开始")
# 让程序睡眠1秒(阻塞)
sleep(1)
print("结束")
  • 案例3
from 模块名 import *
功能名()

# 导入时间模块中所有的方法
from time import *
print("开始")
# 让程序睡眠1秒(阻塞)
sleep(1)
print("结束")
  • 案例4
# 模块定义别名
import 模块名 as 别名

# 功能定义别名
from 模块名 import 功能 as 别名

# 模块别名
import time as tt
tt.sleep(2)
print('hello')

# 功能别名
from time import sleep as sl
sl(2)
print('hello')
  • 自定义模块
每个Python文件都可以作为一个模块,模块的名字就是文件的名字. 也就是说自定义模块名必须要符合标识符命名规则

  • 当我导入1个自定义的模块时,会自动测试
# 新建1个模块A,内容如下
def test(a, b):
    print(a + b)

test(1, 1)

# 在模块B中导入模块A后,会自动测试

# 如果我们希望模块B导入模块A后,自动测试,但不执行打印

# 解决方案:将A模块修改为如下
# 只在当前文件中调用该函数,其他导入的文件内不符合该条件,则不执行test函数调用
def test(a, b):
    print(a + b)

if __name__ == '__main__':
    test (1, 1)
  • 当导入多个模块的时候,且模块内有同名功能. 当调用这个同名功能的时候,调用到的是后面导入的模块的功能

  • 如果一个模块文件中有__all__变量,当使用from xxx import *导入时,只能导入这个列表中的元素

posted @ 2022-10-12 14:19  DogLeftover  阅读(103)  评论(0编辑  收藏  举报