鱼C论坛

 找回密码
 立即注册
查看: 67|回复: 3

python 50课后

[复制链接]
最佳答案
0 
发表于 2018-9-14 21:34:28 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
本帖最后由 HISIOISIH 于 2018-9-14 22:10 编辑

# a.py
from b import y
def x():
    print('x')

# b.py
from a import x
def y():
    print('y')
-------------------------------------
-------------------------------------
# a.py
import b

def x():
print('x')

# b.py
import a

def y():
    print('y')

a.x()

为什么第一个程序会出错 第二个就不会?   from import 和import什么区别
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
最佳答案
0 
发表于 2018-10-25 20:51:17 | 显示全部楼层
我也想知道,看了解释没有看懂……
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
最佳答案
0 
发表于 2018-10-25 21:00:35 | 显示全部楼层
我从网上找的解释,可能通俗一点,这样理解应该没毛病:
从报错提示中我们可以看出,a.py执行到"from b import y"时会跳转到b.py模块中,为了在b.py中找到y函数,解释器会自上而下的一行一行执行,当在b.py中执行到"from a import x"时又会跳转到a.py模块中进行搜索,如此循环反复,陷入死循环导致报错。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
最佳答案
0 
 楼主| 发表于 2018-11-7 19:51:57 | 显示全部楼层
mulus 发表于 2018-10-25 21:00
我从网上找的解释,可能通俗一点,这样理解应该没毛病:
从报错提示中我们可以看出,a.py执行到"from b im ...

哦 就是说from b import y 和from a import x会互相循环  但是import a 和 import b 不会互相循环么
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

小甲鱼强烈推荐上一条 /1 下一条

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号

GMT+8, 2018-11-16 13:06

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表