As usual ,函数与模块这一章节是python的重心之一,python小白在学习过这一节后也算已经入门python了,在此写下此篇博客,作为我学习函数与模块这一章节的尾声。

在python中,模块就是一个包含变量,函数或类的定义的程序。也就是大家说的脚本文件。前面博客提到的小数模块decimal,分数模块fractions,数学模块math是python的内置模块。
表现形式为:写的代码保存为文件。这个文件就是一个模块。sample.py 其中文件名smaple为模块名字。python本身提供了大量内置模块。

python包是:
包是一个有层次的文件目录结构,它定义了由n个模块或n个子包组成的python应用程序执行环境。

通俗一点:包是一个包含__init__.py 文件的目录,该目录下一定得有这个__init__.py文件和其它模块或子包。

python库是参考其它编程语言的说法,就是指python中的完成一定功能的代码集合,供用户使用的代码组合。在python中是包和模块的形式。

导入模块:

1.import语句.

import math
print('pi:', math.pi)
print('fabs:', math.fabs(-2))
import math as m
print('pi:', m.pi)
print('fabs:', m.fabs(-2))

输出为:

pi: 3.141592653589793
fabs: 2.0
pi: 3.141592653589793
fabs: 2.0

2.from 语句

from语句用语导入模块中的指定对象,导入的对象直接使用,不需要加缀模块名称。

Python os库里的函数是阻塞的吗 python有库函数吗_变量名

3.from ... import *语句

使用星号时,可以导入模块所有的全局变量与函数

Python os库里的函数是阻塞的吗 python有库函数吗_python_02

导入与执行模块:

import与from语句在执行导入操作时会执行被导入的模块。模块中的赋值语句执行时创建变量,def语句执行时创建函数对象。

模块中的语句都会被执行,而且只执行一次当再次使用import或者from语句导入模块时,并不会执行模块代码,而只是重新建立到已经创建的对象的引用而已。即:import和from语句是隐性的赋值语句。

 为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里,这样,每个文件包含的代码就相对较少,很多编程语言都采用这种组织代码的方式。在Python中,一个.py文件就称之为一个模块(Module)。

现在我们以编写一个hello world模块并运行:

Python os库里的函数是阻塞的吗 python有库函数吗_学习笔记_03

  • python执行import语句时,创建一个模块对象和一个与模块文件同名的变量,并建立变量和模块对象的引用。
  • python执行from语句时,会同时在当前模块和导入模块中创建同名变量,并引用模块在执行是创建的对象。

嵌套导入模块:
python允许任意层次的嵌套导入模块。每个模块都是一个命名空间,嵌套意味着名字空间的嵌套,在使用模块变量名时,则需要依次使用模块变量名作为限定符;

Python os库里的函数是阻塞的吗 python有库函数吗_学习笔记_04

Python os库里的函数是阻塞的吗 python有库函数吗_Python os库里的函数是阻塞的吗_05

注意这两个文件在同一文件夹下:

Python os库里的函数是阻塞的吗 python有库函数吗_python_06

运行test.py:

Python os库里的函数是阻塞的吗 python有库函数吗_python_07

查看模块对象属性:

在导入模块时,python会使用模块文件创建一个模块对象。模块中引用的各种对象变量名称为对象的属性,可用 dir 函数查看对象属性,内置的函数 dir() 可以找到模块内定义的所有名称。以一个字符串列表的形式返回,其中以双下划线“__"开头和结尾的是python内置的属性,其他为代码中的变量名。

编程实践:函数库

可在模块中创建一个函数库。接下来我们创建一个以下这样的杨辉三角函数;

Python os库里的函数是阻塞的吗 python有库函数吗_python_08

在交互模式下导入函数进行测试:

Python的命令模式是指在运行‘cmd’的状态下的默认模式(个人理解)

交互模式是指在命令模式下输入python并回车进入的模式。

Python os库里的函数是阻塞的吗 python有库函数吗_Python os库里的函数是阻塞的吗_09

在交互模式下输入exit()并回车,就会推出python交互模式,进入命令模式。

在交互模式下导入函数进行测试:

Python os库里的函数是阻塞的吗 python有库函数吗_嵌套_10

运行结果如下:

Python os库里的函数是阻塞的吗 python有库函数吗_python_11

这篇博客还有很多的不足之处,我会在今后复习时慢慢修改

希望对大家有所帮助    

                                                     ---------------------夜车星繁的博客