模块基础

模块

模块的定义:模块相当于是一个工具,可以通过调用来快速实现某些功能。

python的模块有四部分

1.内置模块:python解释器启动自带的模块

2.pip安装的模块:使用pip install安装的模块

3.自定义模块:自定义的代码块

4.包:

import 和from......import

函数的调用是使用函数名来直接调用,而模块的调用是根据import与from......import来进行调用的。

import首次导入模块发生的3件事情:

1.以模块为准创造一个模块的名称空间

2.执行模块对应的文件,将执行过程中产生的名字都丢到模块的名称空间

3.在当前执行文件中拿到ige模块名

模块的重复 导入会直接引用之前已经出现的结果,不会重复执行模块的文件

导入多个模块的方法

import time
import sys

import的优缺点

优点:永不冲突

缺点:每次导入多输入几个字符

time.time()

from......import......首次导入模块发生的3件事情

1.开辟内存空间,内存空间命名为time

2.把time.py中的所有代码读入名称空间,然后运行

3.把sleep()读入import和from......import.py中,因此可以直接使用方法名来调用

书写的格式为:from 模块名 import 方法名

from......import......的优缺点

优点:少输入几个字符

缺点:容易发生冲突

模块搜索路径

模块的搜索路径指的是在导入模块时需要检索的文件夹

导入模块时查找模块的顺序是:

  1. 先从内存中已经导入的模块中寻找
  2. 内置的模块
  3. 环境变量sys.path中找

搜索文件的时候是从哪里先查找的

1.内存与自定义比较

import time
import testt

print(testt.abc)

time.sleep(10)  # 顺带删掉testt.py

print(testt.abc)

结果:内存 -- > 自定义

2.内置与自定义比较

先自定义一个文件time.py
import time
print(time.time())     #输出结果为1569488479.2050285

结果:内置 --> 自定义

3.内置与内存比较

import time
import requests

print(requests.get('http://www.baidu.com'))

time.sleep(15)

print(requests)

结果:内存 --> 内置

所以搜索文件的顺序是:内存 --> 内置 --> 自定义

Python文件的两种用途

执行文件:当前运行的文件

模块文件:用来导入的文件

from testt import shopping

__name__ == '__main__'不成立, __name__ != '__main__'
# 当testt为模块文件时,__name__等于文件名

# __name__是每个文件独有的,当该文件作为执行文件运行时,__name__等于'__main__';当该文件作为模块文件导入时,__name__等于文件名

用法:用来进行模块测试

原文地址:https://www.cnblogs.com/whkzm/p/11593148.html