零基础入门学习Python第19讲课后作业第一题
def next():print('我在next()函数里...')
pre()
def pre():
print('我在pre()函数里...')
next()
这是题目,问会输出什么?以下是答案。
有些编程语言不够“聪明”,向这类向前引用的方式会导致报错,但Python足够“醒目”,这段代码是正确的!
会输出:
我在next()函数里...
我在pre()函数里...
问题是我复制代码后只输出了第一行,后面报错了,不知道什么原因??请教高手
我在next()函数里...
Traceback (most recent call last):
File "<pyshell#3>", line 1, in <module>
next()
File "<pyshell#2>", line 3, in next
pre()
UnboundLocalError: local variable 'pre' referenced before assignment 你复制错了吧,亲测没问题啊,
def next():
print('我在next()函数里...')
pre()
def pre():
print('我在pre()函数里...')
next()
输出:
我在next()函数里...
我在pre()函数里...
你看看你上面哪里引用了pre,在赋值前,造成报错 昨非 发表于 2020-11-23 21:20
你复制错了吧,亲测没问题啊,
我复制到软件运行窗体里面错了,如果把语句复制到一个新的文件运行就是对的。晕 rychair 发表于 2020-11-23 21:25
我复制到软件运行窗体里面错了,如果把语句复制到一个新的文件运行就是对的。晕
小问题 昨非 发表于 2020-11-23 21:25
小问题
不好意思,我昨晚想了半天还是不懂。在第一个自定义函数 next() 下面单独写了一行 pre(), 这是什么意思呢?后面再跟一个自定义函数 pre(),为何程序运行 next(), 这是第一个自定义函数,会打印两个自定义函数的值呢?这就是后面要讲的内嵌函数吗?很奇怪,第二个如果是内嵌函数,为啥没有缩进呢?我只能厚着脸皮再问您以下,谢谢。 rychair 发表于 2020-11-24 19:36
不好意思,我昨晚想了半天还是不懂。在第一个自定义函数 next() 下面单独写了一行 pre(), 这是什么意思呢 ...
就是定义函数1,里面调用了2
有定义了函数2
最后调用了1->打印next()
又因为1里面调用了2->所以也打印了pre()
函数只有被调用的时候才会执行
页:
[1]