模块与包的导入

同级目录导入模块直接导入,一个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']   来控制可以导入那些东西

  




posted @   鸿飞冥冥  阅读(149)  评论(0编辑  收藏  举报
编辑推荐:
· .NET制作智能桌面机器人:结合BotSharp智能体框架开发语音交互
· 软件产品开发中常见的10个问题及处理方法
· .NET 原生驾驭 AI 新基建实战系列:向量数据库的应用与畅想
· 从问题排查到源码分析:ActiveMQ消费端频繁日志刷屏的秘密
· 一次Java后端服务间歇性响应慢的问题排查记录
阅读排行:
· 互联网不景气了那就玩玩嵌入式吧,用纯.NET开发并制作一个智能桌面机器人(四):结合BotSharp
· Vite CVE-2025-30208 安全漏洞
· 《HelloGitHub》第 108 期
· 一个基于 .NET 开源免费的异地组网和内网穿透工具
· MQ 如何保证数据一致性?
点击右上角即可分享
微信分享提示