前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >上手Python之模块

上手Python之模块

作者头像
一个风轻云淡
发布2022-11-15 17:38:22
2770
发布2022-11-15 17:38:22
举报
文章被收录于专栏:java学习java

什么是模块

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

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

大白话:模块就是一个Python文件,里面有类、函数、变量等,我们可以 拿过来用(导入模块去使用)

模块的导入方式

模块在使用前需要先导入 导入的语法如下:

常用的组合形式如:

import 模块名

from 模块名 import 类、变量、方法等

from 模块名 import *

import 模块名 as 别名

from 模块名 import 功能名 as 别名 

import模块名

代码语言:javascript
复制
import 模块名
import 模块名1,模块名2

模块名.功能名()
代码语言:javascript
复制
# 导入时间模块
import time
print("开始")# 让程序睡眠1秒(阻塞)
time.sleep(1)print("结束")

from 模块名 import 功能名 

代码语言:javascript
复制
from 模块名 import 功能名

功能名()
代码语言:javascript
复制
# 导入时间模块中的sleep方法
from time import sleep
print("开始")# 让程序睡眠1秒(阻塞)
sleep(1)
print("结束")

from 模块名 import * 

代码语言:javascript
复制
from 模块名 import *

功能名()
代码语言:javascript
复制
# 导入时间模块中所有的方法
from time import *
print("开始")# 让程序睡眠1秒(阻塞)
sleep(1)
print("结束")

as定义别名 

代码语言:javascript
复制
# 模块定义别名
import 模块名 as 别名

# 功能定义别名
from 模块名 import 功能 as 别名
代码语言:javascript
复制
# 模块别名
import time as tt
tt.sleep(2)
print('hello')
代码语言:javascript
复制
# 功能别名
from time import sleep as sl
sl(2)
print('hello')

自定义模块 

制作自定义模块

 Python中已经帮我们实现了很多的模块. 不过有时候我们需要一些个性化的模块, 这里就可以通过自定义模块实现, 也就是自己制作一个模块

案例:新建一个Python文件,命名为my_module1.py,并定义test函数

注意:   每个Python文件都可以作为一个模块,模块的名字就是文件的名字. 也就是说自定义模块名必须要符合标识符命名规则 

测试模块 

在实际开发中,当一个开发人员编写完一个模块后,为了让模块能够在项目中达到想要的效果, 这个开发人员会自行在py文件中添加一些测试信息,例如,在my_module1.py文件中添加测试代码test(1,1)

代码语言:javascript
复制
def test(a, b):
    print(a + b)


test(1, 1)

问题:

此时,无论是当前文件,还是其他已经导入了该模块的文件,在运行的时候都会自动执行`test`函数的调用

解决方案:

代码语言:javascript
复制
def test(a, b):
    print(a + b)

# 只在当前文件中调用该函数,其他导入的文件内不符合该条件,则不执行test函数调用
if __name__ == '__main__':
    test (1, 1)

注意事项

注意事项:

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

 __all__

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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-10-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 什么是模块
  • 模块的导入方式
    • import模块名
      • from 模块名 import 功能名 
        • from 模块名 import * 
          • as定义别名 
          • 自定义模块 
            • 制作自定义模块
              • 测试模块 
                •  __all__
                领券
                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档