如何区别python的主程序和子程序_Python关于import的实验(11) 主程序文件和导入的子程序文件都导入同一个模块时的情形...

本文探讨Python中主程序(aaa.py)与导入的子程序(ccc.py)如何交互,当两者都导入同一模块(bbb.py)时的情况。实验表明,bbb.py仅被导入一次,且在主程序和子程序中都能访问并修改彼此的数据,如变量info4bbb。通过示例代码和运行结果展示了模块导入的机制和影响。
摘要由CSDN通过智能技术生成

在本人的实验中,主程序aaa.py中导入了bbb模块和folder4test.ccc模块,而在folder4test.ccc.py程序文件中又导入了根目录下的bbb模块,这时,整个过程中bbb模块仅仅被导入且只被导入1次,它不会被重复导入.同时,在aaa.py和ccc.py中都能访问bbb.py的信息,并且能够相互影响,其中一个地方修改了,会影响另一个地方.

根目录文件夹结构:

根目录

aaa.py

bbb.py

folder4test

用于将普通文件夹变成包的特殊文件,内容为空__init__.py

ccc.py

文件夹结构截图:

aaa.py:

# import bbb

print("aaa中已经导入bbb...")

import folder4test.ccc

import bbb

print("测试开始...")

folder4test.ccc.printinccc()

bbb.info4bbb = "林祖泉"

folder4test.ccc.printinccc()

folder4test.ccc.setinccc()

print(bbb.info4bbb)

bbb.py:

print("我是bbb.py")

info4bbb = 999

folder4test\ccc.py:

print("我是文件ccc.py")

# import sys

# import os

# sys.path.append(os.getcwd())

import bbb

def printinccc():

print(bbb.info4bbb)

def setinccc():

bbb.info4bbb = "林麻子"

补充说明:folder4test\__init__.py文件内容为空.

运行程序aaa,py之后,控制台的输出结果:

Windows PowerShell

版权所有 (C) Microsoft Corporation。保留所有权利。

尝试新的跨平台 PowerShell https://aka.ms/pscore6

PS C:\Users\chenxuqi\Desktop\numpy学习资料\Experiments4NumPy> & 'D:\Python\Python37\python.exe' 'c:\Users\chenxuqi\.vscode\extensions\ms-python.python-2020.11.371526539\pythonFiles\lib\python\debugpy\launcher' '61123' '--' 'c:\Users\chenxuqi\Desktop\numpy学习

资料\Experiments4NumPy\aaa.py'

aaa中已经导入bbb...

我是文件ccc.py

我是bbb.py

测试开始...

999

林祖泉

林麻子

PS C:\Users\chenxuqi\Desktop\numpy学习资料\Experiments4NumPy>

本文分享 CSDN - 敲代码的小风。

如有侵权,请联系 support@oschina.cn 删除。

本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值