6、Python模块

6-1、认识python模块

1、什么是模块?

函数是可以实现一项或多项功能的一段程序;

模块是函数功能的扩展,模块是可以实现一项或多项功能的程序块;

也就是说,函数和模块都是用来实现功能的,但模块的范围比函数要广,在模块里可以重用多个函数;

2、怎么导入模块?

python中一段程序要使用某个模块时,不能直接使用模块里面的功能;

在使用模块之前,必须先导入指定模块;

3、sys模块:

python中有一些模块不需要我们自己去定义,python官方提供了自带的模块;

这些模块伴随着python的安装而产生,我们把这些模块叫做标准库模块;

标准库中有很多模块,如跟电子邮件有关的的,跟操作系统有关的等;

我们把标准库中与系统功能有关的这些模块称之为sys模块;

比如:

查看版本信息;

查看当前运行的文件的目录地址;

查看window操作系统的版本信息;

查看已经导入的模块关键字;

6-2、字节编译

1、什么是python的.pyc文件?

由于计算机只认识二进制的机器语言,所以在执行python模块的时候有两种执行方式;

一种是先将模块里面的内容编译成二进制语言,然后执行这些二进制语言程序;

另一种是直接执行这些对应模块的二进制语言程序;

而把模块编译成二进制语言程序的这个过程叫做字节编译,这个过程将产生一个与编译模块相对应的.pyc文件;

也就是说,.pyc文件就是经过编译后的模块对应的二进制文件;

2、字节编译与编译的区别:

把模块编译成二进制语言程序的这个过程叫做字节编译;

而python是一种解释型语言,而不是一种编译型语言;

很多人认为,python中出现字节编译,那么python就应该是一种编译型语言;这种观点其实是不正确的;

python中虽然出现了编译这个过程,但是python中编译的过程是在python的解释器中发生的;

换句话来说,其实每种程序想要计算机执行,都只能变成二进制的形式;

编译型语言是指在软件中就是一个独立的编译模块去将程序编译,

而python中的字节编译这部分功能由解释器完成的,所以python仍然是解释型语言。

3、.pyc文件的使用:

.pyc文件就是经过编译后的模块对应的二进制文件;

.pyc文件最大的一个作用就是加快了模块运行的速度;

除此之外,他还可以做反编译等高级功能;

查看.pyc文件需要用一个二进制文件阅读器;

6-3、from...import详解

1、学会使用from...import

python中导入一个模块的方法可以使用import,但是import只是导入了这个模块,而并没有导入我们模块的某个属性或方法;

而我们不仅导入一个模块,还有导入模块中对应的一个功能,我们可以使用from...import语句:

但from...import一次只能导入模块里面的一个功能,要一次导入某个模块里面的所有功能,可以使用from...import *

6-4、认识__name__属性

1、认识主模块

在python中,如果一个函数调用其它函数完成一项功能,我们称这个函数为主函数;

如果一个函数没有调用其它函数,这个函数叫做非主函数;

模块也类似,如果一个模块是被直接使用的,而没有被别人调用,那么称这个模块为主模块;

如果一个模块被别人调用,我们称这种模块为非主模块;

2、认识_name_属性

在python中有主模块与非主模块之分,那么如何区分主模块与非主模块呢?

是这样的,如果一个模块的__name__属性的值是__main__,那么就说明这个模块是主模块,反之亦然;

其实我们可以把__name__看作一个变量,这个变量是系统给出的,这个变量的功能是判断一个模块是否是主模块;

6-5、自定义模块

1、自定义模块的创建与使用:

方式一:

在Lib目录下任意新建一个文件,以.py结尾,这个就成了一个模块

方式二:

只要将我们写的python程序保存到Lib目录下,这个程序就是一个模块,模块的功能由自己决定;

2、怎样将参数传递到模块里面?

首先要保证模块本身没有出现逻辑和语法上面的错误;

而怎样保证模块没有出现逻辑和语法上面的错误呢?

方法1:是通过对模块中的变量进行初始化;

方法2:在模块中先声明好变量的类型;

6-6、dir函数

python中有非常多的模块,但是有的时候我们会忘记一个模块有哪些功能,

这个时候,我们可以使用dir()函数来查看一下指定模块的功能列表。

比如:

我们想要看sys模块中有哪些功能,那我们就先导入sys这个模块,然后使用dir(sys)就可以查看sys模块的所有功能和方法:

如果我们想继续查看其中的__doc__方法的说明,我们可以继续使用sys.__doc__

python中的dir()函数不仅能查看模块的功能列表,还能查看任意指定对象的功能列表:

如:

定义一个列表d=[],然后使用dir(d)查看该列表里面的功能:

时间: 2024-10-12 10:41:29

6、Python模块的相关文章

python-学习笔记之-Day5 双层装饰器 字符串格式化 python模块 递归 生成器 迭代器 序列化

1.双层装饰器 #!/usr/bin/env python # -*- coding: utf-8 -*- # author:zml LOGIN_INFO = False IS_ADMIN = False   def check_log(func): def inner(): res = func() if LOGIN_INFO: print('验证成功!') return res else: print('验证失败!') return inner   def check_admin(func)

Python模块的交叉引用问题分析

实际项目中遇到python模块相互引用问题,查资料,说是通过import局部导入的方式可以避免错误,资料如附录所述. 但更改后测试还是会出错,很疑惑!? 如果哪位读者有好的解决方法,敬请留言说明,谢谢. 所以,最好的方法是不进行交叉引用,如果需要就单独分一个模块出来. 附录:Python模块的交叉引用问题解读:How can I have modules that mutually import each other? 有下面两个文件相互引用,Python解释器报错. foo.py: from

python模块以及导入出现ImportError: No module named 'xxx'问题

python模块以及导入出现ImportError: No module named 'xxx'问题 python中,每个py文件被称之为模块,每个具有__init__.py文件的目录被称为包.只要模 块或者包所在的目录在sys.path中,就可以使用import 模块或import 包来使用 如果你要使用的模块(py文件)和当前模块在同一目录,只要import相应的文件名就好,比 如在a.py中使用b.py:  import b 但是如果要import一个不同目录的文件(例如b.py)该怎么做

python模块搜索路径

1.电脑版 (1).python安装目录中\Lib\site-packages\下建立*.pth文件,写入模块路径 (2).添加环境变量:变量名:pythonpath;变量值:模块(文件夹)路径 ,若有多个,用半角分号";"隔开 2.手机版 在resource\site.py文件中添加代码段 import syssys.path.append("模块(文件夹)路径") 发现:第一个参数都是C:\\resource 我的理解: 程序安装盘下的site.py指定模块路径

4.python模块

python 字符串 一.注释 在python中的注释分为单行注释和多行注释    (1)单行注释:为在语句的前边加"#" 例子: #!/usr/bin/env python a = 123 print a #print a #print a #print a 执行结果如下: [[email protected] ~]# python a.py 123  (2)多行注释:可以用3对单引号(比如:''' 注释内容''') 或是3对双引号(比如:"""注释内容

使用 from import方法导入Python模块

比如我们导入一个数学计算的模块 math: >>> import math>>> print math<module 'math' (built-in)>>>>>>> print math.pi #导出圆周率的值3.14159265359>>> 我们导入math模块,在python模块学习中我们会知道,这样做会得到名math的对象,这个模块对象包含了pi这样的常量,以及一些其它的方法. 我们如果直接访问

Python 八、Python模块

一.python文件概述 1.python模块概述 可以将代码量较大的程序分割成多个有组织的.彼此独立但又能互相交互的代码片段,这些自我包含的有组织的代码段就是模块 模块在物理形势上表现为以.py结尾的代码文件 一个文件被看作一个独立的模块,一个模块也可以被看作是一个文件 模块的文件名就是模块的名字加上扩展名(.py) 每个模块都有自己的名称空间 python允许导入其它模块以实现代码重用,从而也实现了将独立的代码文件组织成更大的程序系统 python中,模块也是对象 在一个模块的顶层定义的所有

python 学习第五天,python模块

一,Python的模块导入 1,在写python的模块导入之前,先来讲一些Python中的概念性的问题 (1)模块:用来从逻辑上组织Python代码(变量,函数,类,逻辑:实现一个功能),本质是.py结尾的python文件(文件名:test.py,对应的模块名:test) (2)包:用来从逻辑上组织模块的,本质就是一个目录(必须带有一个__init__.py文件) 2,导入的方法 (1)import module_name导入某个模块 (2)import module_name,module2_

七、Python模块和包

Python模块 Python模块是组织代码的基本方式 Python的脚本都是用扩展名为py的文本文件保存的,一个脚本可以单独运行,也可以导入另一个脚本中运行.当脚本被导入运行时,将其称为模块 cat test.py #!/usr/bin/python #coding:utf-8 from __future__ import division def a(x,y): print x+y def b(x,y): print x*y cat new.py #!/usr/bin/python impo

如何安装python模块

在python编程语言中,我们一般会用到python模块,如chardet.pygame,这些模块不包含在python的默认代码中,需要从外部下载并安装.有些模块提供了自动安装的文件,比如pygame的Windows版本,直接双击安装就可以.但大多数模块没有提供这样的安装方式,有些同学没能成功安装而导致无法在程序中引入模块.在这里,介绍一下python模块http://www.maiziedu.com/course/python/393-4380/几种常见的安装方法.   1. 直接copy 下