1.模块的简介
模块是Python中非常核心的一块内容,用的非常多
1.1什么是模块? 模块就是一些列功能的集合,模块中就是提前写好了很多的功能,直接拿来使用
1.2. 为什么要用模块? 站在巨人的肩膀上,别人写好的一些功能我们把它下载下来直接用在我们自己的项目中,大大提高开发效率 发短信、验证码、等等很多的服务 # 别人已经开发好了,给它下载下来,直接挪到我们自己的python文件中使用就行了 3. 模块的分类 1. 内置模块(python解释器原来就存在的,在任何位置,任何时间都可以直接使用) eg:time 2. 第三方的(别人写好的模块,人家放在了网上,去网上下载)
1.3自定义的(我们自己写的模块)
1.4. 模块存在的形式 一共有4钟形式,只需要掌握2钟
1. 我们自己写的python代码(.py文件) # 一个py文件就是一个模块
2. 包的形式:就是一系列py文件的组合(文件夹) # 文件夹内部有一个__init__.p
2.模块的导入方式之import句式
import md # 导入模块的时候,只写模块名字,不要写后缀名字 """ 学习模块的时候一定要弄清楚:谁是执行文件,谁是导入文件? 运行当前文件,会导入md文件到此文件中,并且会执行导入文件 导入文件多次,那么,也只会执行一次导入文件中得代码,只需要导入一次即可 导入文件的时候发生了什么事儿?
1. 首先会运行执行文件,产生执行文件的全局名称空间
2. 运行导入文件
3. 会产生导入文件的全局名称空间,把导入文件中的名字都丢到全局名称空间中
4. 会在执行文件中产生一个名字md指向导入文件的名称空间
# 在执行文件中如何使用导入文件中得数据
# 直接使用模块名字点变量名 直接使用
# money = 999
# print(md.money) # 1000 知名道姓的调用,不会乱
#
# def read1():
# print('read1')
# md.read1()
money=888
md.change()
print(money)
3.导入语句的其他用法
1. 起别名
from md import money as m
from md import read1 as r1
from md import read2 as r2
import md
def read1():
print('from read1')
read1()
r1()
md.read1()
2. 连续导入
import md
import time
import os
import sys
import md,time,os,sys
3. 通用导入
from md import *
from md import *
read1()
change()
__all__ = ['money', 'read1', 'change']
循环导入
在你编码的过程中,循环导入是不能允许出现的 如果你的代码出现了循环导入问题,那就是你的代码设计不合理,及时更正
4.判断文件类型(执行文件、导入文件)
if __name__ == '__main__': # md
read2()
if __name__ == '__main__':
'''在这个判断里面写的代码,只有是以执行文件运行的时候,才会被执行,当被当成导入文件的时候,不会被运行'''