400-616-5551

您所在位置: 首页> 学习课程> python培训 | Python中的import原理与应用

python培训 | Python中的import原理与应用

发布百知教育 来源:学习课程 2019-11-01

今天我们来初步认识下import,同时区分一下模块、包、库的概念。


先来认识一个名词:模块(module)。


模块在本质上是一个.py文件,引入模块,也就是引入了一段Python代码到你的程序中。编程时,适当代码分离会显得程序结构比较清晰,更重要的是可以实现代码复用。系统内置模块或者第三方模块,也是提供给我们来复用的,只不过人家的代码更加成熟、稳定。


既然本质都是一样的,我们就自己来写一个py文件,给另一个py调用。


例如:如果我们写一个文件读写模块filePro.py,里面就一个函数pf。(请大家不要过于拘泥于里面具体的代码,我只是举个例子,顺手写了一点,主要看它如何被引入调用,真正的模块多数是用面向对象来写的 )。


python培训


于是在main.py中就可以这样来引入使用:


python培训




或者使用from引入,干脆别名都不用写:


但是平常尽量不要import *,这样把py所有代码都引入了,会减慢运行速度,我们可以针对性的引入要使用的变量、函数等。


设想一下,如果我们积累了几百个py文件供我们调用,我们在使用的时候,总不能一锅粥里去挑吧?估计命名再准确也得眼晕了。那能不能和电脑处理文件一样,建立文件夹来分类、分级管理呢?当然可以,于是就有了所谓“包”(package)的概念。


我们同样也自己实验一下。比如我们还有个文件叫dirPro.py,是用来处理文件夹的,里面有个判断文件是否存在的功能。


假定我认为,它和刚才的文件处理是有一定关系的,属于我写的同一类模块,那就可以扔到一个文件夹里去,作为同一个包里的文件。


于是就有了接下来的目录结构:

python培训


我们只要在file文件夹里建立一个__init__.py文件(空):


就可以愉快的调用了:


当然,真正系统内置或第三方的包,绝不是这么简单,它的init文件里会有一些说明信息。而且那些包,都是添加到一个默认的Python能的搜索位置。具体是哪里呢?我们打开python安装的位置去找找呗,看到lib文件夹了吗?打开看一下,是不是似曾相


没错这些就是系统内置的包或模块,而第三方下载的包或者模块(一般都是包,毕竟是全世界都在用的功能,一个模块很难满足),都在这里面的site-package里面:




好了,是时候梳理一下概念了:


Python的模块,就是一个.py文件。

Python的包,就是一个文件夹,里面是同一系列的模块集合。

Python的库,是对模块和包的一个统称。严格来说是从其它语言习惯性转过来的一个笼统的叫法。


顺便,回顾下import的写法吧:


引入模块:import  random  用法如 random.randint(1,10)

引入模块并起别名:import  turtle as  t 用法如 t.forward(50)

引入模块中的对象:

from random import randint  这样直接randint(1,10)就行

from random import *  同上,但浪费加载时间

import random.randint  这样直接引入模块.对象是错误的

引入包里的模块:

import pygame.locals

from pygame import locals

引入包里的模块里的对象:

from pygame.locals import  *


怎么样,大家是不是对“Python的库的引入”这一部分有一点清晰的认识了呢?有时候,对于程序的写法,真的不是“记住就行”就真的行了,最好能了解一下背后的机制,才能真正做到“它强任它强,清风拂山岗”。



python培训:http://www.baizhiedu.com/python2019、、

上一篇:python培训 | 说说Python 中 is 和 == 的区别?

下一篇:应届生去公司找个Java程序员的职位需要什么技能?

相关推荐

www.baizhiedu.com

有位老师想和您聊一聊

关闭

立即申请