• Python基础 – 使用别人代码的模块机制


    前言

    Python的模块为日常编程中许多问题提供了标准的解决方案,同时也能让我们更加简洁优雅地管理代码。

    模块

    定义:

    每个模块是由1个或多个Python文件构成。是相关的类、函数和变量所组成的一个集合。

    它可以被其它代码引入并直接使用。

    通常,一个模块中的各个功能是相互关联的。

    模块中的函数就像是积木,用一块一块的积木搭建成一个完整的图形,搭好的图形就是模块。

    在这里插入图片描述
    了解完模块的基本概念后,先来看看最常接触的第一大类模块:内置模块。

    内置模块是在安装Python时自带的模块。Python提供了大量丰富且高质量的内置模块来帮助完成一些系统化工作。

    比如,生成一个随机的数字可以使用random模块,要处理日期和时间则可以通过datetime模块等。

    为了使用这些模块,首先需要通过关键词import来导入模块。

    导入模块

    import random
    randomNum = random.random()
    print(randomNum)
    
    • 1
    • 2
    • 3

    代码的作用

    这三行代码输出了一个随机数。

    第一行导入了random模块,该模块用于生成随机数;

    第二行将生成的随机数赋值给了变量randomNum

    第三行输出了randomNum这个变量的数值。

    import

    关键字import,中文意思是“导入”,表明我们要在这里导入模块。

    在这里插入图片描述
    模块的名称

    一个名为random的模块,该模块用于生成一个随机数。
    在这里插入图片描述
    模块内的函数

    导入random模块后,就可以通过 random.xxx() 来使用该模块中的所有函数。

    这里,我们调用了random模块里的random()函数,该函数用于生成一个0到1的随机浮点数。
    在这里插入图片描述
    模块内的函数

    random模块中还有其它的函数,可以根据自己的需要来调用。

    比如,想生成一个在1到7之间的随机整数,可以使用random模块里的randint()函数,代码为:random.randint(1,7)

    在这里插入图片描述

    代码总结

    要导入模块时,就可以使用这样的格式:
    在这里插入图片描述
    使用import导入模块后,除了可以获取到模块内的函数,还可以获取到该模块中的类。通过调用类里面的方法,来实现某一功能。

    比如,要获取今天的日期,就需要用到datetime模块里的date类,以及该类中的today()方法。

    import datetime
    todayDate = datetime.date.today()
    print(todayDate)
    
    • 1
    • 2
    • 3

    导入模块

    使用关键字import,中文意思是“导入”,表明我们要在这里导入一个名称为datetime的模块。

    在这里插入图片描述
    模块中的一个类

    一个类,表明我们在调用datetime模块里的date类。

    date类是一个日期类,里面提供了一些关于日期的方法与属性。

    在这里插入图片描述
    date类里面的某一个方法

    一个方法,表明我们要调用的today()从属于date类。

    该方法用于获取当前的本地日期。

    在这里插入图片描述

    代码总结

    导入模块后,想获取到该模块中的类里面的某一个方法时,就可以使用这样的格式:
    在这里插入图片描述

    小练习

    使用import导入random模块。

    使用该模块下的random()函数,生成一个0到1之间的随机浮点数,并使用print()将结果输出。

    import random
    print(random.random())
    
    • 1
    • 2

    获取今天日期的年份,并判断跟实际今年的年份(2022)是否相等。相等输出True,不相等输出False。

    import datetime
    today = datetime.date.today()
    year = today.year
    print(year == 2022)
    
    • 1
    • 2
    • 3
    • 4

    不难看出,一个模块是由很多类和函数组成的。

    有时候只想导入(import)模块里面的一部分内容,可能是一个类或是一个函数。 比如,我们只希望导入datetime模块中的date类。

    这时候,就可以用到 from...import...

    导入模块

    from datetime import date
    todayDate = date.today()
    print(todayDate)
    
    • 1
    • 2
    • 3

    两个关键字

    第一个关键字from允许我们从模块中导入一个指定的部分。

    这两个关键字,表明从datetime模块里导入date类。
    在这里插入图片描述
    模块的名称

    一个名为datetime的模块,表示要从该模块中导入某个类。
    在这里插入图片描述

    一个类

    一个类,表明我们要调用的date类属于datetime模块。

    在这里插入图片描述
    date类里面的某一个方法

    一个方法,表明我们要调用的today()从属于date类。

    可以看到,使用from...import...这种形式时,调用datetime模块中的类或函数时不需要datetime.前缀。

    在这里插入图片描述

    代码总结

    当我们只想导入模块里面的一部分内容时,就可以使用这样的格式:
    在这里插入图片描述

    第三方模块

    学习了导入模块的两种方式,但是导入的都是内置模块。这些模块是Python自带的,具有较高的通用性。

    除此之外,我们还会接触到许多的第三方模块。这些非内置的模块由其他的开发者所编写,提供给公众免费使用,功能更加个性化。可以从Python Package Index上找到自己需要的模块。

    内置模块可以直接导入后使用,而非内置的模块则需要先进行安装,然后才能导入使用。

    在这里插入图片描述

    安装模块

    为了安装第三方模块,需要一个叫作 pip 的工具。

    在安装Python环境的时候,pip工具已经随着一起自动安装了,现在可以直接在电脑上使用pip工具来安装第三方模块。

    安装第三方模块的方式在不同的电脑系统上略微有些不同

    Windows

    要使用pip工具安装第三方模块,需要在Windows的命令提示符里进行。

    可以使用以下两种方式打开命令提示符:

    在电脑左下角「开始菜单」旁的搜索栏里输入cmd

    同时在键盘上按下快捷键WINR,在运行框里输入cmd

    在这里插入图片描述

    打开一个Windows命令提示窗口,就可以开始安装第三方模块了。

    只需要在命令提示符的窗口里,使用 pip3 install「ModuleName」命令。这里,「ModuleName」是你所选择的模块的名称。

    在这里插入图片描述
    假如我们想制作一个可交互的柱状图,可以通过第三方模块 pyecharts,该模块是一个强大的数据可视化工具。

    直接在终端中输入:pip3 install pyecharts==1.8.1 ,然后敲击回车键,就能进行安装。

    这里由于pyecharts的特殊性,在安装时要指定版本1.8.1,而其它大多数模块都可以直接使用模块名安装。

    如果在自己电脑上安装不上或安装缓慢,可在命令后添加如下配置进行加速:-i https://pypi.tuna.tsinghua.edu.cn/simple/

    pip3 install pyecharts==1.8.1 -i https://pypi.tuna.tsinghua.edu.cn/simple/
    
    • 1

    点击回车后,会出现很多的安装信息。当看到「Successfully installed...」或显示「Requirement already satisfied」的时候,说明模块已经安装成功。

    可能会遇到黄色的警告,这是在提示需要升级pip工具。可以选择忽视,也可以按照指示在终端中输入「pip install --upgrade pip」进行升级。

    安装过程如图所示:
    在这里插入图片描述

    macOS

    要使用pip工具安装第三方模块,需要在macOS的终端里进行。

    我们可以点击「启动台」后,在上方的搜索栏里输入终端,然后打开即可。

    在这里插入图片描述
    打开终端窗口,就可以开始安装第三方模块了。

    只需要在终端窗口里,使用 pip3 install「ModuleName」命令。这里,「ModuleName」是你所选择的模块的名称。

    在这里插入图片描述
    假如我们想制作一个可交互的柱状图,就可以通过第三方模块 pyecharts 来完成。

    直接在终端中输入:pip3 install pyecharts==1.8.1 ,然后敲击回车键,就能进行安装。

    这里由于pyecharts的特殊性,在安装时要指定版本1.8.1,而其它大多数模块都可以直接使用模块名安装。

    如果在自己电脑上安装不上或安装缓慢,可在命令后添加如下配置进行加速:

    在这里插入图片描述
    点击回车后,会出现很多的安装信息。当看到「Successfully installed…」的时候,说明模块已经安装成功。
    安装过程如图所示:

    在这里插入图片描述

    示例

    安装成功后,就可以关闭当前窗口,回到编辑器里使用该模块来绘制柱状图了。和内置模块一样,我们需要导入模块。

    在这里插入图片描述
    第一行代码:

    使用 pyecharts.charts 的方式,访问了 pyecharts 模块里的子模块 charts

    然后,通过 from...import... ,从 pyecharts 模块的子模块 charts 里导入了 Bar 类。

    在这里插入图片描述

    第二行代码:

    使用from...import...,从pyecharts模块中,导入子模块options,并将其简写为了opts

    这里,import...as...是用于在导入一个模块的同时,为该模块取一个别名。

    这是为了之后在代码中使用该模块时能更加方便,不用再通过options调用,可以直接通过opts

    在这里插入图片描述
    导入完成后,我们就可以通过这些模块,绘制出一个可交互的柱状图啦。

    from pyecharts.charts import Bar
    from pyecharts import options as opts
    
    bar = Bar()
    
    bar.add_xaxis(["衬衫", "毛衣", "领带", "裤子", "风衣", "高跟鞋", "袜子"])
    bar.add_yaxis("商家A", [114, 55, 27, 101, 125, 27, 105])
    bar.add_yaxis("商家B", [57, 134, 137, 129, 145, 60, 49])
    bar.set_global_opts(title_opts=opts.TitleOpts(title="某商场销售情况"))
    
    bar.render("bar.html")
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    在这里插入图片描述

    小练习

    引入math模块

    使用import来导入内置模块:math,该模块提供了大量的数学运算函数。

    导入模块后,完成以下两个操作:

    通过math模块内 sqrt() 函数,输出99的开平方结果;

    通过math模块内 fabs() 函数,输出-0.03的绝对值。

    import math
    print(math.sqrt(99))
    print(math.fabs(-0.03))
    
    • 1
    • 2
    • 3

    计算平均值

    statisticsPython中的一个数学统计模块。

    使用statistics.mean()可以计算出一个列表的平均值,只需要将列表传入到括号中即可。

    使用import导入statistics模块,并定义一个列表numList = [10, 99, 78, 50]。使用statistics.mean()计算该列表的平均值,并输出:

    import statistics
    numList = [10,99,78,50]
    print(statistics.mean(numList))
    from...import...
    
    • 1
    • 2
    • 3
    • 4

    使用from...import...来完成上一道题目

    定义一个numList = [10, 99, 78, 50],使用statistics模块下的mean()来计算该列表的平均值,并输出。

    from statistics import mean
    numList = [10,99,78,50]
    print(mean(numList))
    
    • 1
    • 2
    • 3

    💫点击直接资料领取💫

    在这里插入图片描述

    ❤️关注苏州程序大白公众号❤️


    👇 👇👇

  • 相关阅读:
    联想领像M102W激光打印机报错E0问题的描述
    开源软件的漏洞响应:应对安全威胁
    HTML 揭秘:HTML 编码快速入门
    软件测试(基础篇)
    MFC list control控件数据修改
    RabbitMQ快速使用代码手册
    JavaSE - 数组的定义、使用、内存分布、应用
    图解隐马尔可夫模型(HMM)
    【C++】C/C++内存管理
    Aqs独占/共享模式
  • 原文地址:https://blog.csdn.net/weixin_46931877/article/details/126812931