Python-模块、包

Python-模块、包

一、模块简介

     模块就是一个Python代码文件(例如:time.py),内含类、函数、变量等,我们可以导入进行使用。

导入语法:

       [from 模块名] import [模块 I类 I变量 |函数 I*] [as 别名]

注意:[]里面的是可以省略的。通过"."来确定层级关系。

常用的组合方式:

     1、 import  模块名     --推荐

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

     3、 from  模块名  import *

     4、 import  模块名  as  别名  --推荐

     5、 from  模块名  import  功能名  as  别名

作用:

       python中有很多各种不同的模块,每一个模块都可以帮助我

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

常见使用案例:

使用案例:

###导入模块import time,random as r#调用time中的类、函数、变量等time.sleep(2)  #睡眠2秒num=r.randint(1,10);  #1到10内随机生成个整数print(f"随机生成的数:{num}")

使用案例:

#1、from  模块名  import  类、变量、方法等from time import sleep   #使用from方式导入指定的函数sleep(2)  #睡眠2秒#2、from  模块名  import  功能名  as  别名from time import sleep as s  #使用from方式导入指定的函数并作为别名ss(2)  #睡眠2秒##3、from  模块名  import *from random import *num=randint(1,100);print(f"随机生成的数:{num}")

二、自定义模块

      在Python代码文件中正常写代码即可,通过import、from关键字和导入Python内置模块一样导入即可使用。

 注意:if __name__=="__main__":表示,只有当程序是直接执行的才会进入,如果是被导入的,则无法进入执行。常用于测试。

      不同模块,同名的功能,如果都被导入,那么后导入的会覆盖先导

入。

      __all__=["reduce"]:配合"from 模块名 import *"和"import 模块名"导入使用,只能导入这个列表中的元素。也即:指定导入所有功能的汇总。

参考案例:

##配合from  模块名  import *导入使用,只能导入这个列表中的元素__all__=["reduce"]#定义一个函数def sum(x,y):        res=x+y        print(f"求和后的结果:{res}")#定义一个函数def reduce(x,y):        res=x-y        print(f"求差后的结果:{res}")#测试使用 加上__main__只能在测试使用,调用不会执行if __name__=="__main__":        sum(2,3)        reduce(3,2)

引入自定义模块:

# from test01 import * #不能正常使用# import test01  #不能正常使用 __all__=["reduce"]from test01 import reduce,sum #可以正常使用sum(2,3)reduce(3,2)

三、包

       包就是一个文件夹,里面可以存放许多Python的模块(代码文件),通过包,在逻辑上将一批模块归为一类,方便使用。在该文件夹下包含了一个_init_.py文件(通过这个_init_.py文件来表示一个文件夹是Python的包,而非普通的文件夹),该文件夹可用于包含多个模块文件。从逻辑上看,包的本质依然是模块。

创建方式:

导入包:

方法一:和导入模块类似

    import 包.模块 as 别名 或

    from 包 import 模块 as 别名

参考案例:

##  import 包.模块 as 别名# import my_tools_pack.tools_01 as tools01# import my_tools_pack.tools_02 as tools02## from 包 import 模块 as 别名from my_tools_pack import tools_01 as tools01from my_tools_pack import tools_02 as tools02tools01.fun_01()tools02.fun_01()

方法二:通过配置_init_.py文件

定义_init_.py文件:

##通过配置 定义*可以导入该包下模块 注意:all名称不能改变__all__=['tools_01']

参考案例:

##方法二:通过配置_init_.py文件from my_tools_pack import *tools_01.fun_01()tools_02.fun_01()

错误信息:

四、安装第三方包

      包可以包含一堆的Python模块,而每个模块又内含许多的功能。

所以,我们可以认为:一个包,就是一堆同类型功能的集合体。

方法1:pip命令的方式

#通过网络快速安装外网下的第三方包pip install 包名称  #指定网络pip install -i https://pypi.tuna.tsinghua.edu.cn/simple 包名称==版本号

https://pypi.tuna.tsinghua.edu.cn/simple是请华大学提供的一个网站,可供pip程序下载第三方包。

清华:https://pypi.tuna.tsinghua.edu.cn/simple阿里:http://mirrors.aliyun.com/pypi/simple/豆瓣:http://pypi.douban.com/simple/华中理工大学:http://pypi.hustunique.com/山东理工大学:http://pypi.sdutlinux.org/中国科学技术大学:http://pypi.mirrors.ustc.edu.cn/rticle/details/106061185
#  numpy==1.20.3指定库的版本号pip install -i https://pypi.tuna.tsinghua.edu.cn/simple numpy==1.20.3

其他常用的命令:

# 升级Python第三方库pip install --upgrade 库名  #其中“库名”是要升级的库的名称## 指定库的版本号 pip install numpy==1.20.3pip install 库名==版本号## 卸载Python第三方库pip uninstall 库名## 查看已安装的Python第三方库pip list

方法2:使用PyCharm方式

更多优秀文章,请扫码关注个人微信公众号或搜索“程序猿小杨”添加。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值