Python 1-2模块的循环导入问题

run.py文件:

import m1 # 第一次导入

# 验证解决方案一:

‘‘‘

正在导入m1

正在导入m2

‘‘‘

# print(m1.x)

# print(m1.y)

# 验证解决方案二:

import m1 # 第一次导入

‘‘‘

正在导入m1

‘‘‘

# print(m1.x)

# print(m1.f1)

m1.f1()

‘‘‘

正在导入m2

m1.f1---->y:m2

m2.f2--->x:m1

‘‘‘

m1.py文件:

# 错误示范

‘‘‘

print(‘正在导入m1‘)

from m2 import y #第一次导入m2

x=‘m1‘

‘‘‘

解决方案一: 把循环导入的语句放到名字定义的后面

print(正在导入m1‘)

x=‘m1‘

from m2 import y #第一次导入m2

# 解决方案二: 将循环导入语句放到函数内

print(正在导入m1‘)

def f1():

from m2 import y,f2 #第一次导入m2

    print(‘m1.f1---->y: ‘,y)

f2()

x=‘m1‘

m2.py文件:

# 错误示范

‘‘‘

print(‘正在导入m2‘)

from m1 import x

y=‘m2‘

‘‘‘

# 解决方案一: 把循环导入的语句放到名字定义的后面

print(正在导入m2‘)

y=‘m2‘

from m1 import x

# 解决方案二: 将循环导入语句放到函数内

print(正在导入m2‘)

def f2():

from m1 import x

print(‘m2.f2--->x: ‘,x)

y=‘m2‘

循环导入问题及解决方案一配图

循环导入问题及解决方案二配图

原文地址:https://www.cnblogs.com/hades0607/p/9443326.html

时间: 2024-11-08 21:47:05

Python 1-2模块的循环导入问题的相关文章

1.模块2.循环导入问题及解决思路3.区分py文件的两种类型4.模块的查找顺序5.模块的绝对导入与相对导入6.项目开发的目录规范

一.模块 什么是模块? 模块就是一系列功能的结合体 模块的三种来源: 1.内置的(python解释器自带的) 2.第三方的(别人写的) 3.自定义的(你自己写的) 模块的四种表现形式: 1.使用python编写的py文件(也就是意味着py文件也是可以称之为模块 2.已被编译为共享库或DLL的或C++扩展(了解) 3.把一系列模块组织到一起的文件夹(文件夹下有一个__init__.py文件,该文件夹称之为包) 4.使用C编写并连接到Python解释器的内置模块 模块选择 1.用别人写好的模块(内置

模块,循环导入

目录 模块的四种形式 import和from...import... import 模块 from 模块 import 方法 import与from...import的优缺点 循环导入 解决方法 模块的搜索路径 python文件的两种用途 模块的四种形式 在python中,总共有以下四种形式的模块: 内置模块:python解释器启动自带的模块,random / time -- pip install 安装的模块 自定义模块:如果你自己写一个py文件,在文件内写入一堆函数,则它被称为自定义模块,即

模块导入、循环导入、模块查找顺序、相对导入及绝对导入

模块导入 什么是模块 模块:就是一系列功能的结合体 模块的三种来源: 1.内置的(python解释器自带) 2.第三方的(别人写的) 3.自定义的(自己写的) 模块的四种表现形式 1.使用python编写的py文件(也就意味着py文件也可以称之为模块:一个py文件也可以称之为一个模块) 2.已被编译为共享库或DLL的C或C++扩展(了解) 3.把一系列模块组织到一起的文件夹(文件夹下有一个__init__.py文件,该文件夹称之为包) 包:一系列py文件的结合体 4.使用C编写并连接到pytho

Python包和模块的导入问题

模块--代码封装 模块是Python组织代码的基本方式.Python的脚本都是用扩展名为py的文本文件保存,一个脚本可以单独运行,也可以导入另一个脚本中运行,当脚本被导入运行时,我们将其称为模块(module).就是说,我们在python里写的所有代码文件都可以叫模块. 导入的时候,模块名与脚本的文件名相同,例如我们编写了一个名为items.py 的脚本,则在另外一个脚本中用import item语句来导入它. windows环境下在python中查看安装有哪些模块 >>> import

Python学习笔记-模块介绍(二)-模块导入和执行

之前的一篇博文介绍了python中模块的概念和基本使用方法,模块作为python语言中的基本单元,可以用来编写公用库函数或对象以便重复使用.同时模块还可以作为独立文件进行运行,之前也已经提到,只要是导入了模块文件,那么PVM就会依次执行模块文件中的所有语句.本篇主要介绍模块使用的一些进阶,首先定义一个模块module_2.py,内容如下: # -*- encoding:utf-8 -*-'''module_2.py模块的内容''' print(__name__) def sum(a,b):ret

关于python包,模块,.pyc文件和文件导入理解

参考文献 一.包 包是一个文件夹,用来存放模块和子包. 包里一般会有一个__init__.py的文件(也可以没有). 包里会有一个__pycache__文件夹,存放.py文件经解释器解释后的中间字节码(二进制文件). 二.模块 可以作为模块的文件有.py..pyc..pyo..pyd..so..dll文件. 三..pyc文件与.pyo文件 这两个文件都是二进制文件,由python解释器将.py文件转化成的二进制文件,目的是加快解释速度且可以隐藏源代码. python解释器在解释.py文件时,会优

Python 的 time 模块导入及其方法

时间模块很重要,Python 程序能用很多方式处理日期和时间,转换日期格式是一个常见的功能,讲解一下Python 的 time 模块导入及其方法. 1,time 模块导入 import time; # 引入time模块 ticks = time.time() print "当前时间戳为:", ticks 输出结果 时间戳 2,其方法调用 时间戳 → 时间元组 time.localtime(1538271871.226226) 时间元组 → 时间戳 time.mktime((2018,

python基础四(模块的导入)

一.导入模块?从模块导入时,一般使用 import sys(用sys模块举例) #这种方式导入模块,要使用这个模块其中的功能,语法为模块名称**.**功能,如print(sys.path) from sys import path #这种方式导入模块要使用模块中的功能,直接功能名即可print(sys),如果要导入该模块多个功能可以以逗号隔开 from SomeMode import * #这种方式和第二种一样只是把具体的功能名换成了*(导入所有),这种方式也有弊端,假如你导入的模块都有一个名为

Python常用模块——模块介绍与导入

Python常用模块--模块介绍与导入 一.什么是模块? 在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里代码就会越来越长,越来越不容易维护. 为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里,这样,每个文件包含的代码就相对较少了,很多编程语言都采用这种组织代码的形式. 在Python中,以个.py文件就可以称之为一个模块(Module). 二.使用模块有什么好处? 1.最大的好处是大大提高了代码的可维护性.其次,编写代码不必从零开始.当一个模块编写完毕,就可以被其他地