zoukankan      html  css  js  c++  java
  • 分析解决python循环导入报错问题

    分析解决python循环导入报错问题

    一、导致循环导入的原因
    #m1
    from m2 import y
    x=1
    
    #m2
    from m1 import x
    y=10
    
    原因:因为python解释器是从上往下解释,在执行from命令之前还没有加载x , y,所以当执行m1文件的时候,找到不y,x
    
    
    二、解决方案
    1、第一种方式
    #m1
    x=1
    from m2 import y
    print(x)
    print(y)
    #m2
    y=10
    from m1 import x
    
    执行m1结果:
    		1
        	10
            1
            10
    		
    
    第二种方法
    #m1
    def foo():
    	from m2 import y
        print(y)
    x=1
    foo()
    
    #m2
    def boo():
        from m1 import x
        print(x)
    y=10
    boo()
    
    执行m1函数:
    	10
        1
        10
    
    
    第三种方法(解决打印重复值)
    #m1
    def foo():
    	from m2 import y
        print(y)
    x=1
    if __name__=="__main__"
    	foo()
    
    #m2
    def boo():
        from m1 import x
        print(x)
    y=10
    boo()
    执行m1文件结果:
    	1
        10
    
    总结:

    ​ 循环导入出现的原因是因为自定义的文件循环导入,在导入的过程中,需要的变量没有被加载,所以我们可以将可以哪里用文件,就在哪里导入模块,并将导入模块放到函数中

  • 相关阅读:
    课后作业
    课后作业
    课后作业3
    课后作业
    课后作业
    课后作业
    java 加减法2
    java 出计算题
    Java web 登录界面
    构建之法读后感
  • 原文地址:https://www.cnblogs.com/chuwanliu/p/10980457.html
Copyright © 2011-2022 走看看