模块"/>
python学习——模块
python学习——模块
1、首先要知道什么是模块:简单的来说呢就是以.py结尾的python文件,根据我的理解,任何这样的文件你都可以当成一个模块。
2、使用模块的优点:
a、代码重用。
b、系统命名空间的划分。
c、实现共享服务和数据。
3、标准库模块和第三方库:
这一个知识点相当重要,因为python自带了大约两百个模块,包裹GUI构建、操作系统接口等,具体我们可以查阅python标注库参考手册。
然后就是浩瀚的、功能多样的、使用方便的python的第三方库,这几乎是python最大的优点之一,其包含了从数据分析、人工智能、爬虫、GUI等等各个方面的第三方库,是python如此流行的原因之一,因此当你想要用实现某个功能时,切记找一下是否有现成的第三方库,这将会让你省去很多时间。
4、如何导入一个模块?
通常来说有两种方式,一是import+模块名,import会读取整个模块,另一种方式时from+模块名+import+要读取的属性,其原理是把变量名复制到另一个作用域,所以我们在脚本中就可以直接使用变量名,不需要使用模块,下面举例介绍:
首先我们在一个名为a.py的python文件输入如下代码:
def apple(x):
print(x)
a文件的代码是创建一个函数,并传入变量,最后打印出来。如果我们想在b文件使用这个功能,即传入变量并打印出来,但是不想再写一遍代码,该怎么办呢?这时候模块的作用就出来了。
我们在名为b.py的文件可以这么写:
import a #导入a模块(文件)
a.apple("有鹿不闻“)#打印结果为 有鹿不闻
在解释这段代码前,我们先介绍一个非常重要的概念,即object.attribute(点号运算),翻译过来便是对象.属性。
我们看b文件,在这里我们导入了a模块,运用点号运算,取出模块a中名为apple的属性,这个属性的便是出入变量并打印变量,所以我们在后面的括号内传入变量“有鹿不闻”,最终结果也是打印出来。
第二种导入模块的方式是使用from语句。我们在一个名为c.py的文件中输入如下代码:
from a import apple
apple(”有鹿不闻“)#打印结果为 有鹿不闻
我们看到用from语句与import语句有些许不同,但结果是一样的,因为from语句的原理是把变量名复制到另一个作用域,所以我们在脚本中就可以直接使用变量名,不需要使用模块,也就是说我们从 a模块导入了apple这个属性,所以只需传入变量给apple就可以了。
5、单元测试,即_name与main_,注意,这个语法十分十分常用,再 强调 也不为过 ,同学们牢记。下面举例说明。
我们在一个名为d.py的文件输入如下代码:
def orange()print(“marry chrismas")if _name_=='_main_':orange()
一般情况下,我们要实现一个功能,只需前两行代码就够了,为什么还写了后两行代码呢?这就是所谓的单元测试。
试想一下,如果这个文件是一个十分复发的文件,代码足足有500行,你肯定会试着运行一下程序,看程序是否报错对吧。
所以当这个文件作为一个程序执行时,name_的值就是_main,此时运行orange函数,测试脚本是否可以执行。
而当文件作为模块被导入时,name_则为文件的名字,不等于_main,此时orange函数不会执行,文件就会作为一个模块被导入。
在这里我总结了一句话,同学们牢记:
作为程序执行时,name=main,后续代码执行
作为模块导入时,name≠main,后续代码不执行。
6、模块搜素路径
相信有心 同学 奇怪 ,在导入模块时为什么没有给出文件具体的路径,那么python如何 知道 文件在哪呢?这就跟python特殊的模块搜索路径有关 了 。
首先,python有四个 搜索 路径 ,即:
a、程序的主目录
b、PYTHONPATH目录(需设置)
c、标准链接库目录
d、任何.pth 文件 内容
那么 如何 查看我们的搜索目录呢?可以使用如下代码:
感谢阅读!!!
更多推荐
python学习——模块
发布评论