模块与包的导入
同级目录导入模块直接导入,一个py文件就是一个模块 #导入模块的方法:
1、import 模块名1,模块名2 #注意只是模块名,不药写。py等后缀
2、import 模块名 as 别名
3、from 模块名 import 函数名
4、from 模块名 import * 跟__all__ = ['money','read1']结合使用 '''
1、import直接导入模块名
import导入模块干的事 : 1、产生新的名称空间 2、在新建的名称空间为全局名称空间,执行文件的代码 3、拿到一个模块名,指向spam.py
1 2 3 4 5 6 7 8 9 10 | def read1(): print ( 'from test.py' ) spam.read1() #apam -> read1-> money 1000 打印的是spam模块中的read1 money = 50 print (money) # 50 print (spam.money) #1000 spam.change() #global改变 print (spam.money) # 0 |
2、from 模块名 import 函数或变量名
干的事 1、产生新的名称空间 2、在新建的名称空间为全局名称空间,执行文件的代码 3、直接拿到模块产生的名称空间中的名字
此种方法优缺点: 优点:方便,不用加前缀;
缺点:容易跟当前文件的名称空间冲突 。
1 2 3 4 5 | from spam import money money = 10 print (money) #注意:因为这种导入方式在用时不能用模块名.变量名的方式指定用哪个,在导入后,又重新给money函数新的指向,所以这里结果是 10 from spam import * #调用时不写spam.又可以一下子全部导入,可以在源文件中任意位置添加__all__ = ['money','read1'] 来控制可以导入那些东西 |
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET制作智能桌面机器人:结合BotSharp智能体框架开发语音交互
· 软件产品开发中常见的10个问题及处理方法
· .NET 原生驾驭 AI 新基建实战系列:向量数据库的应用与畅想
· 从问题排查到源码分析:ActiveMQ消费端频繁日志刷屏的秘密
· 一次Java后端服务间歇性响应慢的问题排查记录
· 互联网不景气了那就玩玩嵌入式吧,用纯.NET开发并制作一个智能桌面机器人(四):结合BotSharp
· Vite CVE-2025-30208 安全漏洞
· 《HelloGitHub》第 108 期
· 一个基于 .NET 开源免费的异地组网和内网穿透工具
· MQ 如何保证数据一致性?