python模块超详细,小白必看!
在python中,一个py文件就是一个模块,可以作为模块被导入和引用,在python中使用模块会使得程序结构更加清晰,维护起来也更加方便。每次编程定义的变量,函数随着py文件的关闭就会被内存释放,现在通过把这些方法放在py文件中可以通过导入的方式调用,极大的提升了程序的效率!
定义:模块就是一系列功能的结合体
模块的分类:
内置模块
第三方模块
自定义模块
模块的四种表现形式:
使用python编写的代码(.py文件)
已被编译为共享库或DLL的C或C++扩展
包好一组模块的包(文件夹)(包里面通常有一个双下init.py文件)
使用C编写并链接到python解释器的内置模块
内置模块导入示例:
'''导入内置模块'''
import time
time.sleep(1) # 一秒后执行print
print('累了,睡1秒')
# 结果
# 累了,睡1秒
自定义模块示例:
'''导入自定义模块'''
'''test.py'''
print('听说你想导入我?')
a = 1
b = 2
'''module.py'''
# 导入自定义模块
import test
if test.a>test.b:
print('用导入模块的值来比较,a大')
else:
print('用导入模块的值来比较,b大')
# 结果
# 听说你想导入我?
# 用导入模块的值来比较,b大
'''module.py'''
# 导入自定义模块
import test
import test
import test
import test
# 结果
# 听说你想导入我?
注意:多次导入相同模块,只会执行一次
第三方模块示例:
python内的第三方模块,需要下载,只要找到想下载的模块,通过pip即可安装,在pycharm安装也非常方便,另外给大家推荐Anaconda,下载好好多第三方模块不需要下载。
没有pip的小伙伴点👉[pip官网](pip · PyPI)
没有Anaconda的小伙伴点👉[Anaconda官网](Anaconda | Individual Edition)
**没有pycharm的小伙伴点👉[pycharm官网**](PyCharm: the Python IDE for Professional Developers by JetBrains)
pip安装命令:pip install 包名/模块名
pycharm安装步骤:
Settings>>Project>>Python interpreter
因为我使用的是pycharm,给大家举个栗子:
'''使用第三方模块'''
'''使用第三方模块'''
import requests
url = 'https://www.baidu.com/'
res = requests.get(url)
print(res.status_code)
print(res.text)
# 结果大家自己动动手叭~
首次导入模块发生的事:
运行导入文件(import句式.py)产生该文件的全局名称空
运行test.py文件
产生test.py全局名称空间 运行test文件内代码 将产生的名字全部存档于test.py名称空间
在导入文件名称空间产生一个test的名字指向test.py全局名称空间
图示如下:
'''module.py'''
# 导入自定义模块
from test import a
print(a)
a = a+1
print(a)
# 结果
听说你想导入我?
1
2
'''显然module.py中没有a,a被导入到当前名称空间,可以直接使用,也可以对a进行修改'''
'''module.py'''
# 导入自定义模块
from test import *
print(a,b)
#结果
听说你想导入我?
1 2
既可以给模块名起别名也可以给模块中某个名字起别名
实例如下:
import test as t
print(t.a)
from test import a as A
print(A)
# a的结果都为1
连续导入
格式:import 模块1,模块2
格式2:from 模块名1 import 名字1,名字2,名字3
可以连续导入多个模块,但是只有当多个模块功能相似或者属于同一个系列
如果功能不同并且不属于一个系列 那么推荐分行导入
import 模块名1
import 模块名2
通用导入
格式:__ all __ = [‘名称1’ , ‘名称2’]
实例如下:
'''test.py'''
print('听说你想导入我?')
a = 1
b = 2
# 只允许使用名称a
__all__ = ['a']
# 如果导入所有名称,只能使用a,使用其他名称报错
'''module.py'''
# 导入自定义模块
from test import *
print(a,b)
# NameError: name 'b' is not defined
import sys
print(sys.path)
'''结果中第一个元素永远是当前执行文件所在的路径'''
当某个自定义模块查找不到的时候解决方案
1.自己手动将该模块所在的路径添加到sys.path中
import sys
sys.path.append(r'E:\fourth\test.py')
2.from...import...句式
from 文件夹名称.文件夹名称 import 模块名
from 文件夹名称.模块名称 import 名字
if __ name __ = ‘__ main __’: //后期会出一篇有关的教程
作用为判断py文件是否作为模块文件还是执行文件
修改方法:
注意,在自定义模块名的时候,不要和内置模块名相同!
版权说明 : 本文为转载文章, 版权归原作者所有 版权申明
原文链接 : https://www.cnblogs.com/48xz/p/15594753.html
内容来源于网络,如有侵权,请联系作者删除!