目录
1.3.3 from 模块名import* (把模块里的所有功能全部导入进去)
前言
本篇主要整理第九章的第二部分内容,Python的模块和包,大家一起来学习一下吧
1 Python模块
1.1 学习目标
1. 了解什么是模块
2. 掌握导入Python内置的模块
1.2 什么是模块
1.3 模块的导入
[]号的意思是,可选代码,可以写出来,也可以不写出来。完全根据自己的需求。就像之前我们调用random模块就是直接输入import random即可调用。
1.3.1 import名
1.同时有个小tips is 按住ctrl键 左键点击time将会进入到time函数中,time函数定义了有很多不同的函数。sleep只是其中一个
1.3.2 from 模块名 import 功能名
1.3.3 from 模块名import* (把模块里的所有功能全部导入进去)
它与1.3.1 不同的是 1.3.1 那样子导入模块 你必须写time.sleep 而当前方式的导入你可以直接输入sleep即可调用该模块的sleep的函数。(但是这种*不见建议使用,因为里边变量全部被导入了,可能会出现重名等一些情况)
1.3.4 as定义别名
这个功能就是我们把模块导入之后,我可以把这个模块设置一个别名,比如这个tt,之后就可以根据这个tt来去调用这个模块的某一函数啦。
1.4 自定义模块
1.4.1 制作自定义模块
通俗的讲,自定义模块很简单,也就是正常创建一个Python文件,在里面正常的写代码。需要用的时候,直接import即可。一句话,模块也就是Pyhon文件,需要的时候import就可以了。
注意,如果有两个同名文件,比如上图。那么后一个的my_test将会覆盖掉上一个my_test
1.4.2 测试模块
如果我们想保留测试的那个test,同时让当前调用的那个文件不出现test这个结果,那么该如何去处理呢?
在test前面加入个main模块即可。这个模块意思就是如果当前是主函数,可以直接运行测试结果。如果这个函数只是被调用的,那么这个就不输出。
1.4.3 all模块
这个模块实际上就是对被调用的函数施加约束,我主函数用*调用你这函数本来是里边全部功能都可以使用;那么如果我直接在子函数上加个_all_=['你想用的函数'],那么主函数import*只会调用你想用的函数,这样子也为了方便好吧。(另外_all_只是针对于import*,如果你直接import 另一个函数,那一样也可以直接调用哈)
2 Python包
2.1 自定义包
2.1.1 引言
通过Python包来管理。
有_init_.py就是包,如果没有那就是个普通的文件夹。
2.1.2 创建包
2.1.3 创建包的演示
如果是直接import 我们需要一直用点来弄到最后。
但如果我们使用from import 那么只需要mymodule1.info_print1()即可。
2.1.4 _all_
可以直接在_init_.py上去写,来控制import *的行为。
这样的话,我们只能调用module1里边的函数模块,module2则无法调用。
2.2 安装第三方包
2.2.1 什么是第三方包
2.2.2 安装第三方包
那么我们演示一下在2.2.1节中安装一下科学计算中常用的numpy包吧。
直接输入pip install numpy回车即可下载,但是我们会发现下载的速度很慢,原因是这个是默认的是国外的网站。下面有方法可以解决:
因此我们可以直接在命令提示符中按住ctrl +c中断刚才所下载的内容,然后重新输入下列代码
2.2.3 pycharm其实也内置的有安装第三方包的内容
也是右下角解释器设置→加号→选择你需要加的第三方包,可以直接安装但是默认的还是外国网站,下载速度比较慢。因此这里就可以选择Options 继续使用清华大学提供的包的网站,最后安装即可。