• 上手Python之模块


    什么是模块

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

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

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

    模块的导入方式

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

     

    常用的组合形式如:

    import 模块名

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

    from 模块名 import *

    import 模块名 as 别名

    from 模块名 import 功能名 as 别名 

    import模块名

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

    from 模块名 import 功能名 

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

    from 模块名 import * 

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

    as定义别名 

    1. # 模块定义别名
    2. import 模块名 as 别名
    3. # 功能定义别名
    4. from 模块名 import 功能 as 别名
    1. # 模块别名
    2. import time as tt
    3. tt.sleep(2)
    4. print('hello')
    1. # 功能别名
    2. from time import sleep as sl
    3. sl(2)
    4. print('hello')

    自定义模块 

    制作自定义模块

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

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

    注意:  

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

    测试模块 

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

    1. def test(a, b):
    2. print(a + b)
    3. test(1, 1)

    问题:

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

    解决方案:

    1. def test(a, b):
    2. print(a + b)
    3. # 只在当前文件中调用该函数,其他导入的文件内不符合该条件,则不执行test函数调用
    4. if __name__ == '__main__':
    5. test (1, 1)

    注意事项

     

    注意事项:

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

     __all__

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

     

  • 相关阅读:
    贪吃蛇(C语言详解)
    Node.js基础知识点
    Java HashSet详解
    红帽8使用nfs共享本地镜像
    android组件化页面跳转策略
    计算机网络常考协议(HTTP&HTTPs、TCP/UDP、DNS)
    【Qt】QGroundControl入门3:源码初探
    【Python学习笔记】函数
    javascript 文本框中的数据丢失格式,导致没有换行,显示成一行,flask不显示本地图片问题
    小黑leetcode之旅,然后要和学长吃串串香啦:876. 链表的中间结点
  • 原文地址:https://blog.csdn.net/m0_62436868/article/details/127582562