• Python学习记录 模块


    2022.08.20 DAY36

    模块
    • 只要是以.py为后缀的文件,都可以称为模块。

    • 模块中包含:

      • 变量
      • 函数
      • class 面向对象(类->对象)
      • 可执行代码
    • 模块的好处就是管理方便。

    模块的使用
    • 如何使用模块?
      • 自定义模块
      • 导入模块:
        • import 模块名1, 模块2…
      • 导入之后如何使用?
        • 模块名.类
        • 模块名.变量
        • 模块名.函数名(参数)
      • 导入模块中相关的数据
        • from 模块 import 变量,函数,类
      • 导入之后如何使用?
        • 可以直接使用
    自定义模块的定义及使用
    • 问题:在导入模块的时候,模块中的代码会被执行一遍。

    • 解决方案:在自定义模块中,新增控制代码。

        if __name__ == '__main__':
            模块执行代码
      
      • 1
      • 2

    测试模块MyMath:

    """
    自定义一个模块
        实现数学的四则运算
        两个数的加减乘除运算
    """
    
    def add(a, b):
        """
        加法运算
        :param a:
        :param b:
        :return: 两个数的和
        """
        return a + b
    
    def sub(a, b):
        """
        减法运算
        :param a:
        :param b:
        :return: 两个数的差
        """
        return a - b
    
    def mul(a, b):
        """
        乘法运算
        :param a:
        :param b:
        :return: 两个数的积
        """
        return a * b
    
    def div(a, b):
        """
        除法运算
        :param a:
        :param b:
        :return: 两个数的商
        """
        if b != 0:
            return a / b
        else:
            print("除数无意义...")
            return 0
    
    if __name__ == '__main__':
        a = 10
        b = 2
        print("a,b的和为:%g"%add(a, b))
        print("a,b的差为:%g"%sub(a, b))
        print("a,b的积为:%g"%mul(a, b))
        print("a,b的商为:%g"%div(a, b))
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53

    测试代码:

    # 1.导入模块的方式
    # import random
    # result = random.randint(1, 100)
    # print(result)
    
    
    # import MyMath
    # if __name__ == '__main__':
    #     a = 10
    #     b = 2
    #     print("a,b的和为:%g"%MyMath.add(a, b))
    #     print("a,b的差为:%g"%MyMath.sub(a, b))
    #     print("a,b的积为:%g"%MyMath.mul(a, b))
    #     print("a,b的商为:%g"%MyMath.div(a, b))
    
    
    # 2.导入模块中相关数据的方式
    # from random import randint
    # result = randint(1, 100)  # 直接使用
    # print(result)
    
    from MyMath import add, sub, mul, div
    if __name__ == '__main__':
        a = 10
        b = 2
        print("a,b的和为:%g"%add(a, b))
        print("a,b的差为:%g"%sub(a, b))
        print("a,b的积为:%g"%mul(a, b))
        print("a,b的商为:%g"%div(a, b))
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    模块知识__all__的使用
    • from 模块 import 变量,函数,类
    • 问题:使用这种方法导入模块的所有功能,一个一个填写,比较麻烦。
    • 解决方案:
      • from 模块 import *
    • 默认导入模块中所有的功能
      • 如果在模块中手动添加全局变量__all__ = []
  • 相关阅读:
    前端flex布局
    STM32F1与STM32CubeIDE编程实例-金属触摸传感器驱动
    重读 Java 设计模式: 探索经典之道与 Spring 框架的设计
    【Linux】进程的基本概念和进程控制
    Java基础---File类、文件过滤器、字节流
    一文读懂Plato Farm的ePLATO,以及其高溢价缘由
    ucharts最详细教程(含踩坑记录)
    【Hadoop】在云服务器上部署Hadoop2.7.1伪分布式集群
    微信小程序 | 实现活动报名登记
    Linux--信号
  • 原文地址:https://blog.csdn.net/Code_peasant/article/details/126504823