Python学习笔记——模块

本文介绍了Python中的模块和包的概念,以及如何导入和使用。模块是实现特定功能的py文件,可以使用as设置别名。包是组织模块的目录,通过_init_.py文件创建。导入模块有import和from...import两种方式,标准模块可以直接导入,第三方模块需要通过pip安装。文中还提及了_future_导入新特性以及prettytable等常见第三方模块。

模块概述

当代码越来越多的时候,将代码放入一个py文件难以维护,所以我们将代码分拆放入多个py文件,可以使不同py文件中同一名字的变量或函数互不影响。
我们可以把函数看成一块积木,模块就是一盒主题积木,通过它可以拼出某一主题的东西。在Python中,一个py文件就成为一个模块,通常情况下,我们把实现某一特定功能的代码放置在一个文件中作为一个模块,从而方便其他程序和脚本导入并使用。

注意:
创建模块时,设置的模块名尽量不要与Python自带的标准模块名相同
模块文件的扩展名必须是“.py”
模块名需要区分大小写字母

  • 引用其他模块

      import math         #引用math模块
      print math.pow(2,10)      #调用math模块的函数
    

    如果模块名比较长不容易记住,可以在导入模块时使用as关键字为其设置一个别名,通过别名也可以使用这个模块,例如:导入名为mostmediasenci并调用其中的fun_bmi函数:

    import mostmediasenci as m
    m.fun_bmi("wang",1.66,115)
    
  • 使用from…import语句导入模块
    在使用import语句导入模块时,每执行一条import语句就会创建一个新的命名空间(namespace)。如果不想在每次导入模块时创建新的命名空间,而是将具体的定义导入到当前的空间里,可以使用from…import语句。使用from…impot语句导入模块后,不需要再添加前缀,直接通过具体的变量、函数、类名等访问即可。

    from modlename import menber
    

    其中:
    modlename:模块名称,需要和定义模块时设置的模块名称大小写保持一致
    member:用于指定要导入的变量、函数或者类等。可以同时导入多个定义,各个定义之间使用“,”分隔。如果想导入全部定义,可以使用通配符“*”代替。
    例:

    from test import getinfo     #导入test模块的getinfo函数
    from test import getinfo,showinfo     #导入test模块的getinfo和showinfo函数
    from test import *     #导入test模块的全部定义
    

    注:在使用from…import导入模块中的定义时,需保证导入内容在当前命名空间中是唯一的。
    使用通配符“*”导入模块的全部定义后,想要查看具体导入了哪些定义,可以通过显示dir()函数查看,例如执行print(dir())语句。

  • 使用_future_
    Python的新版本会引入新的功能,但是,实际上这些功能在上一个老版本中就已经存在了。 要“试用”某一新的特性,就可以通过导入__future__模块的某些功能来实现。
    例如,Python 2.7的整数除法运算结果仍是整数,但是,Python 3.x已经改进了整数的除法运算,“/”除将得到浮点数,“//”除才仍是整数。
    要想在Python 2.7中引入3.x的除法规则,需要导入__future__的division
    在这里插入图片描述

使用模块可以避免函数名和变量名重名引发的冲突,为了解决模块名重复,提出了包的概念,它将一组功能相近的模块组织在一个目录下,既起到规范代码的作用,又能避免模块名重名引起的冲突。

  • 创建包
    创建包实际上就是创建一个文件夹,并且在该文件夹中创建一个名为“_ init_.py”的python文件,在"_ init _ .py"文件中可以不编写任何代码,也可以编写一些Python代码,在_ init_.py文件中编写的代码,在导入包时自动执行。
    _ init_.py文件是一个模块文件,模块名为对应的包名。例如:在settings包中创建的 _ init_.py文件,对应的模块名为settings。

  • 使用包
    创建包以后,就可以在包中创建相应的模块。从包中加载模块有以下三种方式:

    1. import 完整包名+模块名

      import settings.size
      
    2. from 完整包名 import 模块名

        from settings import size
      
    3. from 完整包名+模块名 import 定义名

      from settings.size import width,height
      

      (width,height为settings包下size模块中的变量)

导入和使用标准模块

在Python中自带了很多实用的模块,称为标准模块,我们可以直接使用import语句导入到Python文件中使用。例:导入标准模块random并调用其randint()函数生成指定范围随机整数。

import random                                     #导入标准模块random
print (random.randit(0,10))                  #输出0-10随机数

Python常用的内置标准模块:

模块名描述
sys与Python解释器及其环境操作相关的标准库
time提供与时间相关的各种函数的标准库
os提供了访问操作系统服务功能的标准库
calendar提供与日期相关的各种函数的标准库
urlib用于读取来自网上(服务器上)的数据的标准库
json用于使用JSON序列化和反序列化对象
re用于在字符串中执行正则表达式匹配和替换
math提供标准算数运算函数的标准库
decimal用于进行精准控制运算精度、有效数位和四舍五入操作的十进制运算
shutil用于进行高级文件操作,如复制、移动和重命名等
logging提供了灵活的记录事件、错误、警告和调试信息等日志信息的功能
tkinter使用Python进行GUI编程的标准库

除此之外,Python还提供了很多其他模块,可以在Python的帮助文档中查看。
具体方法:打开Python安装路径下的Doc目录,在该目录中的扩展名为.chm的文件即为Python的帮助文档。

第三方模块

除了Python内置的标准模块,还有很多第三方模块可以使用,可以在Python官网推出的https://pypi.org/中找到。
使用第三方模块时,需要先下载并安装该模块,然后就可以像使用标准模块一样导入并使用了。下载和安装第三方模块可以使用Python提供的pip命令实现:

pip <command> [modulename]

参数说明:

  1. command:用于指定要执行的命令。
    常用的参数值有:install(安装第三方模块),uninstall(卸载已经安装的第三方模块),list(显示已经安装的第三方模块)。
  2. modulename:可选参数,用于指定要安装或卸载的模块名。当command为install或uninstall时不能省略。

例:

pip install numpy

执行上述代码,将在线安装numpy模块。

常见第三方模块

乐播投屏是一款简单好用、功能强大的专业投屏软件,支持手机投屏电视、手机投电脑、电脑投电视等多种投屏方式。 多端兼容与跨网投屏:支持手机、平板、电脑等多种设备之间的自由组合投屏,且无需连接 WiFi,通过跨屏技术打破网络限制,扫一扫即可投屏。 广泛的应用支持:支持 10000+APP 投屏,包括综合视频、网盘与浏览器、美韩剧、斗鱼、虎牙等直播平台,还能将央视、湖南卫视等各大卫视的直播内容一键投屏。 高清流畅投屏体验:腾讯独家智能音画调校技术,支持 4K 高清画质、240Hz 超高帧率,低延迟不卡顿,能为用户提供更高清、流畅的视觉享受。 会议办公功能强大:拥有全球唯一的 “超级投屏空间”,扫码即投,无需安装。支持多人共享投屏、远程协作批注,PPT、Excel、视频等文件都能流畅展示,还具备企业级安全加密,保障会议资料不泄露。 多人互动功能:支持多人投屏,邀请好友加入投屏互动,远程也可加入。同时具备一屏多显、语音互动功能,支持多人连麦,实时语音交流。 文件支持全面:支持 PPT、PDF、Word、Excel 等办公文件,以及视频、图片等多种类型文件的投屏,还支持网盘直投,无需下载和转格式。 特色功能丰富:投屏时可同步录制投屏画面,部分版本还支持通过触控屏或电视端外接鼠标反控电脑,以及在投屏过程中用画笔实时标注等功能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值