Python学习之路——模块

本文详细介绍了Python模块的概念,包括其作用以及如何导入内置模块(如time模块)。讲解了`fromimport`的各种用法,自定义模块的注意事项,以及使用`__main__`和`__all__`的场景。
摘要由CSDN通过智能技术生成

一、什么是模块

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

二、模块的作用

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

三、导入Python内置的模块

模块在使用前需要先导入

模块的导入方式

[from 模块名] import [模块 | 类 | 变量 | 函数 | *] [as 别名]

  1. import 模块名
  2. from 模块名 import 功能名 (类、函数、变量等)
  3. from 模块名 import *
  4. import 模块名 as 别名
  5. from 模块名 import 功能名 as 别名

下面一一进行演示

(一)import 模块名

# 导入时间模块
import time

print('让程序进入睡眠状态,开始')
time.sleep(1)
print('睡眠状态结束')

(二)from 模块名 import 功能名 (类、函数、变量等)

# 导入时间模块中的sleep方法
from time import sleep

print('程序睡眠开始')
sleep(1)
print('程序睡眠结束')

(三)from 模块名 import *

# 利用 * 可以将模块内部的全部函数全部导入进来
from time import *
# 获取时间戳
print(time())
# 程序睡眠
sleep(1)

(四)import 模块名 as 别名

# 比较有意思的玩法
import time as tm

tm.sleep(1)
print(tm.time())

(五)from 模块名 import 功能名 as 别名

# 给模块的方法起别名
from time import sleep as s
print('1')
s(1)
print('1')

四、自定义模块的使用

1、注意

当导入多个模块的时候,且模块内有同名函数,当调用这个同名函数的时候,调用到的是后面导入的模块的函数

2、演示

(一)创建如下三个文件

(二)test01内部写入以下代码:

def func(a, b):
    c = a + b
    print(f'我是test01模块内的函数\n运算的结果为:{c}')

(三)test02内部写入以下代码:

def func(a, b):
    c = a * b
    print(f'我是test02模块内的函数\n运算的结果为:{c}')

(四)在main函数内部写入以下代码:

from test01 import func
from test02 import func

if __name__ == '__main__':
    func(10, 20)

(五)运行结果:

很明显意料之中!!

3、另外

之前一直使用的

if __name__ == '__main__':

解释一下:

只有当程序是直接执行的才会进入if内部,如果是被导入的(即在另外一个文件里面调用该文件),则if无法进入

4、__all__

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

(一)利用上面创建的两个test文件和main进行演示

在test01文件中写入以下代码:

__all__ = ['func01']


def func01(a, b):
    c = a + b
    print(f'我是将两个变量进行相加的函数\n运算的结果为:{c}')


def func02(a, b):
    c = a * b
    print(f'我是将两个变量进行相乘的函数\n运算的结果为:{c}')

那么在main函数中就只能写入以下代码:

from test01 import func01

if __name__ == '__main__':
    func01(10, 20)
  • 26
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值