模块相互调用问题(python) 大家别拍砖头
时间:2011-01-19
来源:互联网
#a.py
import b
g_str = "Hello"
................................
#b.py
我的问题是 a调用b ,但是b中又想调用 a中的 g_str 请问 如何处理
import b
g_str = "Hello"
................................
#b.py
我的问题是 a调用b ,但是b中又想调用 a中的 g_str 请问 如何处理
作者: chenbin200818 发布时间: 2011-01-19
一般正常调用就可以。但是:
一、尽量避免模块间互相依赖,考虑传递参数,或者使用duck object来解决依赖。
二、尽量把依赖放在函数里,而不是模块的最上层。把依赖放在函数里可以使依赖调用延迟到模块结束后,而不是在加载模块的时候就依赖,防止对一个未完全初始化的模块操作。
一、尽量避免模块间互相依赖,考虑传递参数,或者使用duck object来解决依赖。
二、尽量把依赖放在函数里,而不是模块的最上层。把依赖放在函数里可以使依赖调用延迟到模块结束后,而不是在加载模块的时候就依赖,防止对一个未完全初始化的模块操作。
作者: iambic 发布时间: 2011-01-19
a是一个主模块, 在a中会经常调用b模块中的函数
那么我想在b中调用a中生成的数据,可以直接import a吗 ,好像这不可以吗
有没有更好的办法
我也想过 用函数的形式来调用, 但如何来调呢
那么我想在b中调用a中生成的数据,可以直接import a吗 ,好像这不可以吗
有没有更好的办法
我也想过 用函数的形式来调用, 但如何来调呢
作者: chenbin200818 发布时间: 2011-01-19
模块中最上层应该只有常量定义和函数定义。主模块的主函数可能会打破这一点,所以你新建个模块,比如叫x,把主函数从a.py移动到x.py里,这样主模块不会被动依赖了。
作者: iambic 发布时间: 2011-01-20
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28