您的位置:首页 > 编程语言 > Python开发

python模块

2015-12-09 15:47 477 查看
1.python模块
模块是函数的扩展,函数是一段程序,模块是一段程序块
模块都是放在python的lib文件夹下,他封装了一系列功能,我们自定义的模块也是放在这里

导入模块

import math
math.pi
3.141592653589793


sys模块 官方提供的自带模块,叫做标准库模块 其中标准库中与系统有关的模块称之为sys模块

import sys
sys.version #查看版本信息
sys.executable#查看当前运行目录
sys.getwindowsversion()#获取window的信息
sys.modules.keys()#当前导入模块信息


---------------------------------------------------------

2.字节编译
执行python的时候,一种是将模块里的内容编译成二进制语言,然后执行这些二进制语言
另一种是直接执行对应模块的二进制语言程序,第二种省略了编译这一步,所以执行
速度快而把模块编译成二进制语言程序的这个过程叫做字节编译,这个过程会产生一个
与编译模块对应的.pyc文件 pyc文件就是经过编译后的模块对应的二进制文件

运行一个python模块,如果有pyc文件就直接执行,诶有就先编译再执行

---------------------------------------------------------------------------------

3.from..import语句

import只是导入模块,并不导入方法

import sys
sys.version


from..import既导入模块又导入方法

from sys import version
version#不用学sys.version
'3.5.0 (v3.5.0:374f501f4567, Sep 13 2015, 02:27:37) [MSC v.1900 64 bit (AMD64)]'
sys.version
'3.5.0 (v3.5.0:374f501f4567, Sep 13 2015, 02:27:37) [MSC v.1900 64 bit (AMD64)]'
sys.modules.keys()

from..import * #同时导入模块和模块中所有方法


----------------------------------------------------------
4.__name__属性
主模块
调用其他函数的函数叫做主函数 ,没有调用其他函数的函数叫做非主函数
直接被使用的模块叫做主模块,被其他模块调用的模块叫做非主模块

如果一个模块的__name__属性的值是__main__ 那么就说明这个模块是主模块
其实我们可以把__name__属性看做一个变量,这个变量是系统给出的,这个变量
的功能就是判断一个模块是否是主模块

__name__属性的使用
testname.py如下:

print (__name__)

'''
if __name__=="__main__":
print("main")
else:
print("not")
'''


如果我们直接执行testname.py会发现输出了__main__,因为print(__name__)此时__name__作为的是主模块

if __name__=="__main__":
print("main")
else:
print("not")


这串代码在直接导入的时候会输出main 在import的时候会输出not

-------------------------------------------------------------------------
5.自定义模块:我们写的 保存在lib目录下的py文件就叫做自定义模块
a.py如下

i=0#没有默认参数的时候导入都会报错
j=0#没有默认参数的时候导入都会报错
#或者 int i
#      int j
def add(i,j):
k=i+j
return k
k=add(i,j)
print (k)


使用:

import a
a.add(1,2)


-------------------------------------------------------------------------
6. dir()函数

查看指定模块的功能列表,查看任意制定对象的功能列表

import sys
dir(sys)
['__displayhook__', '__doc__', '__excepthook__', '__interactivehook__', '__loader__',
'__name__', '__package__', '__spec__', '__stderr__', '__stdin__', '__stdout__', '_clear_type_cache',
'_current_frames', '_debugmallocstats', '_getframe', '_home', '_mercurial', 。。。]

d=[]
dir(d)
['__add__', '__class__', '__contains__', '__delattr__', '__delitem__'。。。]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: