189 8069 5689

python函数与模块 python数学函数模块

Python模块的几种类型简介

1、系统内置模块

创新互联专注于白沙黎族企业网站建设,成都响应式网站建设公司,电子商务商城网站建设。白沙黎族网站建设公司,为白沙黎族等地区提供建站服务。全流程按需求定制开发,专业设计,全程项目跟踪,创新互联专业和态度为您提供的服务

os模块:os模块包含普遍的操作系统功能

sys模块:提供了一系列有关Python运行环境的变量和函数

random模块:random模块用于生成随机数

time 模块: 主要包含各种提供日期、时间功能的类和函数

datetime模块:对time模块的一个高级封装

shutil模块:是一种高层次的文件操作工具

logging模块:将日志打印到了标准输出中

re模块:可以直接调用来实现正则匹配

pymysql模块:连接数据库,并实现简单的增删改查

threading模块:提供了更强大的多线程管理方案

queue模块:实现了多生产者,多消费者的队列

json模块:用于字符串和数据类型间进行转换json

2、开源(三方)模块

Requests:最富盛名的http库。每个Python程序员都应该有它。

Scrapy:从事爬虫相关的工作,这个库也是必不可少的。

NumPy:为Python提供了很多高级的数学方法。

matplotlib:一个绘制数据图的库。对于数据分析师非常有用。

Pygame:开发2D游戏的时候可以用上 。

Scapy:用Python写的数据包探测和分析库。

Django:开源Web开发框架,它鼓励快速开发,并遵循MVC设计,开发周期短。

Py2exe:将python脚本转换为windows上可以独立运行的可执行程序。

BeautifulSoup:基于Python的HTML/XML解析器,简单易用。

PyGtk:基于Python的GUI程序开发GTK+库。

3、自定义模块

自定义模块是自己写的模块,对某段逻辑或某些函数进行封装后供其他函数调用。

注意:自定义模块的命名一定不能和系统内置的模块重名了,否则将不能再导入系统的内置模块了。

例如:自定义了一个sys.py模块后,再想使用系统的sys模块是不能使用的。

Python函数和模块的定义与使用,包括变量的类型及匿名函数用法

函数是组织好,可重复使用的,用来实现相关功能的代码段

函数提高了代码的重复利用率和应用的模块性。

除Python自带的函数之外,也可以自己创建函数,叫做自定义函数

语法:

函数代码块以 def 开头

参数为 输入值 ,放于函数名后口号里面,

函数内容以冒号:开始,函数体缩进, return 返回 输出值

函数调用使用关键字参数来确定传入的参数值,此时,如果多个函数则不需要按照指定顺序。

在定义函数时,指定参数默认值。调用时如果不传入参数,则使用默认值

不定长部分如果没有指定参数,传入是一个空元组

加了 两个星号 ** 的参数会以字典的形式导入

/ 用来指明函数形参必须使用指定位置参数,不能使用关键字参数的形式。

3.8版本之后的才能使用

不使用 def 定义函数,没有函数名

lamdba主体时一个表达式,而不是代码块,函数体比def简单很多

定义在函数内部的为局部变量,仅能在函数内部使用

定义在函数外部的为全局变量,可在全局使用

模块是将包含所有定义的函数和变量的文件,一般将同类功能的函数组和在一起称为模块。

模块需要导入后,在调用相应函数进行使用

模块导入的方法:

从模块中导入一个指定的部分

把一个模块的所有内容全都导入

Python基础之查看Python库、函数和模块

1.dir函数式可以查看对象的属性

使用方法很简单,举os类型为例,在Python命令窗口输入 dir(‘os’) 即可查看os模块的属性

打开cmd命令窗口:

2.如何查看对象某个属性的帮助文档:两种方法如下:

3.如何查看某个对象的详细:

3.如何查看某个对象的函数:

那些Python中的模块

Python的解释环境是很好用,但是如果我们需要编写一个大型的程序的时候,解释环境就完全不够用了。这个时候我们需要将python程序保存在一个文件里。通常这个文件是以.py结尾的。

对于大型的应用程序来说,一个文件可能是不够的,这个时候我们需要在文件中引用其他的文件,这样文件就叫做模块。

模块是一个包含Python定义和语句的文件。文件名就是模块名后跟文件后缀 .py 。在模块内部,模块名可以通过全局变量 __name__ 获得。

还是之前的斐波拉赫数列的例子,我们在fibo.py文件中存放了函数的实现:

编写完毕之后,我们可以在Python的解释环境中导入它:

然后直接使用即可:

常用的函数,我们可以将其赋值给一个变量:

或者,我们在导入的时候,直接给这个模块起个名字:

或者导入模块中的函数:

每个模块都有它自己的私有符号表,该表用作模块中定义的所有函数的全局符号表。因此,模块的作者可以在模块内使用全局变量,而不必担心与用户的全局变量发生意外冲突。

前面我们提到了可以使用import来导入一个模块,并且 __name__ 中保存的是模块的名字。

和java中的main方法一样,如果我们想要在模块中进行一些测试工作,有没有类似java中main方法的写法呢?

先看一个例子:

在模块中,我们需要进行一个判断 __name__ 是不是被赋值为 "__main__"。

我们这样来执行这个模块:

以脚本执行的情况下,模块的 __name__ 属性会被赋值为 __main__ , 这也是例子中为什么要这样写的原因。

看下执行效果:

如果是以模块导入的话,那么将不会被执行:

使用import导入模块的时候,解释器首先会去找该名字的内置模块,如果没找到的话,解释器会从 sys.path变量给出的目录列表里寻找。

sys.path的初始目录包括:

要想查看模块中定义的内容,可以使用dir函数。

上面的例子列出了当前模块中定义的内容,包括变量,模块,函数等。

我们可以给dir加上参数,来获取特定模块的内容:

java中有package的概念,用来隔离程序代码。同样的在Python中也有包。

我们看一个Python中包的例子:

上面我们定义了4个包,分别是sound,sound.formats, sound.effects, sound.filters。

__init__.py 可以是一个空文件,也可以执行包的初始化代码或设置 __all__ 变量。

当导入的时候, python就会在 sys.path 路径中搜索该包。

包的导入有很多种方式,我们可以导入单个模块:

但是这样导入之后,使用的时候必须加载全名:

如果不想加载全名,可以这样导入:

那么就可以这样使用了:

还可以直接导入模块中的方法:

然后这样使用:

如果一个包里面的子包比较多,我们可能会希望使用 * 来一次性导入:

那么如何去控制到底会导入effects的哪一个子包呢?

我们可以在 __init__.py 中定义一个名叫 __all__ 的列表,在这个列表中列出将要导出的子包名,如下所示:

这样from sound.effects import * 将导入 sound 包的三个命名子模块。

如果没有定义 __all__,from sound.effects import * 语句 不会 从包 sound.effects 中导入所有子模块到当前命名空间;它只会导入包 sound.effects。

Import 可以指定相对路径,我们使用 . 来表示当前包, 使用 .. 来表示父包。

如下所示:


分享标题:python函数与模块 python数学函数模块
网站URL:http://jkwzsj.com/article/doipege.html

其他资讯