重用一个代码块是通过定义函数来实现,要重用一系列代码块,则通过定义模块来实现。
编写模块有很多种方法,其中最简单的一种便是创建一个包含函数与变量、以.py为后缀的文件。使用撰写 Python 解释器本身的本地语言来编写模块(比如c语言)。且在编译后,可以通过标准 Python 解释器在你的 Python 代码中使用它们。一个模块可以被其它程序导入并运用其功能。
Python的标准安装中还包括一组模块,称为标准库。
import语句从外部导入模块:
1、 >>>import math
>>>math.sin(0)
0.0
注:模块.方法 或 模块.变量 这种形式清晰地表明从属于对于的模块,因而不会与程序中来自其他模块的同名元素冲突。
2、>>>from math import sin
>>>sin(0)
>>>0.0
还可以:from 模块 import 功能1,功能2,功能3
from 模块 import * (引入模块中所有功能)
还可为使用as语句为模块重命名:
import 模块名 as 自定义名
>>>import math as foobar
>>>foobar.sqrt(4)
2.0
当然as语句不光为模块名,也可为函数重命名:
from 模块 import 功能 as 自定义名
>>>from math import sqrt foobar
>>>foobar(4)
2.0
命令行参数;
对于标准库和自定义的模块,与由编写解释器的本地语言来编写的内建模块存在于解释器中不同,前者需要存储在以.py为后缀的模块文件中。这些模块中包含着一系列的函数和变量。
引用模块函数时怎么写入变量呢?不可能每次都找源码复制设变量值粘帖吧。所以就要用到命令行参数:
即以命令行的格式写入参数;
例如模块保存在名为 module_using_sys.py 的文件中时,命令行参数为 $ python module_using_sys.py we are arguments——格式为$ python 模块文件名 参数 参数 参数...Python 将命令行参数存储在sys.argv变量中供我们使用。故可引用sys模式,通过sys.argv返回一个由脚本名称(模块文件名)和所有参数组成的列表。(注:列表下标0即第一个元素为脚本名,后面依次各参数,一个参数占一个位置)
如果它不是一个已编译好的模块,即用 Python 编写的模块,那么 Python 解释器将从它的sys.path变量所提供的目录中进行搜索。如果找到了对应模块,则该模块中的语句将在开始运行,并能够为你所使用。在这里需要注意的是,初始化工作只需在我们第一次导入模块时完成。
模块的name属性:不懂
编写自定义模块:
很简单,每一个程序其实都可以成为一个模块的内容,保存在以.py为扩展名的文件中。
eg:
先一个函数存为模块:
def say_hi():
print('Hi, this is mymodule speaking.')
_version_='0.1'
另一个模块(保存于mymodule_demo.py):
import mymodule
mymodule.say_hi()
print('Version',mymodule.__version__)
输出:
$ python mymodule_demo.py
Hi, this is mymodule speaking.
Version 0.1
想要知道一个模块内有哪些函数与变量,可以使用dir方法,语法为:
dir(模块名)
此笔记就此终结,其他的在应用中去理解!!!