icewin 发表于 2019-11-7 20:42:52

Python零基础19课的那个next




题目如下

0. 下边程序会输入什么?
def next():
    print('我在next()函数里...')
    pre()

def pre():
    print('我在pre()函数里...')
   
next()
复制代码

有些编程语言不够“聪明”,向这类向前引用的方式会导致报错,但Python足够“醒目”,这段代码是正确的!

会输出:
我在next()函数里...
我在pre()函数里...
复制代码
======================================================

我不明白这个“向前引用”是什么意思,另外next好像是个内置函数吧,内置函数被定义后不是法术改变了吗?

这个我查了半天找不到想要的结果,希望有大佬指教



冬雪雪冬 发表于 2019-11-7 21:08:20

next函数是定义在pre函数之前的,但它调用了pre函数,这是允许的。
但如果在主程序中调用放在定义函数之前就会出错

icewin 发表于 2019-11-7 21:26:55

冬雪雪冬 发表于 2019-11-7 21:08
next函数是定义在pre函数之前的,但它调用了pre函数,这是允许的。
但如果在主程序中调用放在定义函数之前 ...

能举个例子吗,还是有点不明白{:5_109:}感谢冬雪大大第2次出手相助

冬雪雪冬 发表于 2019-11-7 21:35:57

def a():
    b(): #b的定义是在下面的,这里就可以调用了。

def b():
    pass


c() #在主程序调用c,但定义在下面是不允许的。

def c():
    pass

icewin 发表于 2019-11-7 21:42:32

冬雪雪冬 发表于 2019-11-7 21:35


{:5_109:}非常感谢
页: [1]
查看完整版本: Python零基础19课的那个next