python语法之模块

一、定义python

是一系列功能的结合体,本质上一个个的.py文件,至关于模块包着一堆函数体代码。函数

 

二、三种来源spa

2.一、python内置的模块:time , os ,sys, turtle 等code

2.二、第三方模块:requestsblog

2.三、自定义模块:本身写的.py文件内存

 

三、四种表现形式作用域

3.一、使用python编写的文件rem

3.二、编译后共享的库DLL或C或C++库requests

3.三、包下面带有__init__一组.py文件it

3.四、python解释器下的.py文件-------- python解释器下的文件夹-----------一个个的py文件

ps:包指的是内部包含__init__.py文件夹。

       包的做用:存放模块,包能够更好的管理模块。

 

四、为何要使用模块

模块能够更好地帮咱们管理功能代码,好比函数,变量名...

能够将项目拆分红一个个的功能,分别存放在不用的py文件(模块)中。

 

五、模块的使用

鼠标右键建立py文件,在py文件中编写python代码。

在一个文件中,经过import 关键字导入模块。注意:import 导入模块时,模块名不能.py后缀。

当首次导入模块时,会作三件事:

1 执行源文件代码

2 产生一个新的名称空间用于存放源文件执行过程当中产生的名字

3 在当前执行文件所在名称空间中获得一个名字func,更名字指向新建立的模块名称空间,若要引用模块名臣空间中的名字,须要加上该前缀,以下

import os   #导入模块
os.open()   #调用模块os中的open函数

加上os. 做为前缀就至关于说明要引用os名称空间中的名字。

强调:第一次导入模块已经将其加载到内存空间了,以后的重复导入会直接引用内存中已存在的模块,不会重复执行文件。

 

六、import语句导入多个模块

6.一、import语句

import module1
import module2
import module3
#
import module1,module2,module3

不建议第二种方式,第一种更规范,可读性更强。

'''
分类导入:
1. python内置模块 2.第三方模块 3.自定义模块 '''

文件开头导入模块属于全局做用域,在函数体内导入模块属于局部做用域。

 

6.二、from-import语句

from os import open,remove,rename
open()
rename()
remove()
#无前缀的好处是代码更简洁,可是容易与当前名称空间中的名字冲突,
# 若是当前名称空间存在相同名字,后定义的名字会覆盖以前定义的名字。

 

6.三、其余导入语法as

import os as o
o.rename()

 

七、循环导入问题

解决方案1:导入语句放到最后,保证在导入时,因此名字都已经加载过

解决方案2:导入语句放到函数中,只有在调用函数时才会执行其内部代码

 

八、区分py文件的两种用途

一种被当程序/脚本执行,一种被当模块导入。区分方法:每一个py文件内置的__name__变量,该变量在py文件中当脚本执行时赋值为__main__,当模块导入时赋值为模块名。

if __name__ == '__main__':
    foo.py被当作脚本执行时运行的代码
else:
    foo.py被当作模块导入时运行的代码
相关文章
相关标签/搜索