模块基础 day15
2024-09-01 15:32:33
模块的四种形式
模块就是一系列功能的集合体,即一堆函数的集合体
内置模块
python解释器自带的模块,time/random
pip安装的模块
pip install jieba/pycharm安装
自定义模块
自定义代码
包(模块)
把一系列模块组织到一起的文件夹
import和from···import
import
- 开辟内存空间,内存空间命名为模块名
- 把模块名.py种的所有代码读入名称空间,然后运行
- 通过
模块名.方法名
使用模块中的方法
优点:永不冲突
缺点:每次导入要多输入几个字符
from import
- 开辟内存空间,内存空间命名为模块名
- 把模块名.py种的所有代码读入名称空间,然后运行
- 把功能读入执行文件中,因此可以直接使用
优点:少输入几个字符
缺点:容易发生冲突
- 导入多个方法:
from time import sleep,time # 不推荐
- 同时导入所有方法:
from time import * # 不要使用
循环导入
在两个文件中分别导入对方中的变量,会导致循环导入
# m1.py
from m2 import x
y = 10
print(x,y)
# m2.py
from m1 import y
x = 20
print(x,y)
原因:模块导入时,会在内存中试运行,试运行时由于变量再模块导入后面,导致无法找到x的变量,因此会陷入循环导入
解决办法1:
# m1.py
y = 10
from m2 import x
print(x,y)
# m2.py
x = 20
from m1 import y
print(x,y)
解决办法2:(函数)
def f1():
from m2 import y
print('m1:', x, y)
x = 10
def f2():
from m1 import x
print('m2:', x, y)
y = 20
模块的搜索路径
由于模块导入执行的时候会将模块的代码调用内存试运行,因此搜索顺序为内存》内置》自定义的顺序
## 环境变量
import sys
print(sys.path) # 打印环境变量地址
sys.path.remove('环境变量地址')
python文件的两种用途
执行文件(当前运行的文件)和模块文件
if __name__ == '__main__':
代码
__name__
是每个文件独有的
- 当该文件作为执行文件运行时,
__name__
等于__main__
- 当该文件作为模块文件时,
__name__
等于文件名
最新文章
- ubuntu 14.04 对exfat的支持
- BZOJ4657 : tower
- 转-利用Oracle审计功能来监测试环境的变化
- 如何完美打造Win8 Metro版IE10浏览器页面(转)
- [LinqPad妙用]-在Net MVC中反射调用LinqPad中的Dump函数
- Linux企业级项目实践之网络爬虫(24)——定制规则扩展为垂直爬虫
- git第三篇---建立一个project
- Jax-ws 开发webService ,并使用spring注入service类
- 玩玩kafka1 单机安装
- Numpy入门 - 数组聚合运算
- nopcommerce 4.1 core 学习 增加商城配置属性
- Confluence 6 Oracle 连接问题解决
- go语言中的数组
- 完完全全彻底删除VMware_Workstation
- JS进阶系列之原型、原型链
- 我所遇到的C++连接问题汇总
- 《C++ Primer Plus》学习笔记——C++程序创建到运行的整个过程
- 01-http简介-四层 七层 三次握手
- Leetcode 807. Max Increase to Keep City Skyline
- 技术分享:Dapr,让开发人员更轻松地构建微服务应用