鱼C论坛

 找回密码
 立即注册
查看: 1168|回复: 7

[已解决]一个简单的python函数问题,求助

[复制链接]
发表于 2018-9-12 10:14:35 From FishC Mobile | 显示全部楼层 |阅读模式

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

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

x
>>> def fun1():
    print('fun1()正在被调用')
    def fun2():
        print('fun2()正在被调用')
    fun2()

>>> fun1()
fun1()正在被调用
fun2()正在被调用
请问第五行为什么必须要有fun2()程序才能正常运行?
最佳答案
2018-9-12 10:17:46
fun2()定义在fun1内部,你不用fun2(),
就没有使用,仅有个定义而已
Screenshot_2018-09-12-10-05-53.png
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2018-9-12 10:17:46 | 显示全部楼层    本楼为最佳答案   
fun2()定义在fun1内部,你不用fun2(),
就没有使用,仅有个定义而已
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-9-12 11:07:49 From FishC Mobile | 显示全部楼层
塔利班 发表于 2018-9-12 10:17
fun2()定义在fun1内部,你不用fun2(),
就没有使用,仅有个定义而已

那为什么在第二行下面添加一行fun1()为什么会输出'fun1()正在被调用'呀?
def fun1():
    print('fun1()正在被调用')
    fun1()
    def fun2():
        print('fun2()正在被调用')
    fun2()
Screenshot_2018-09-12-11-04-50.png
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-9-12 11:10:41 From FishC Mobile | 显示全部楼层
a545884541 发表于 2018-9-12 11:07
那为什么在第二行下面添加一行fun1()为什么会输出'fun1()正在被调用'呀?
def fun1():
    print('fun1 ...

不停的输出'fun1()正在被调用'
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-9-12 11:11:04 | 显示全部楼层
你这是自己无限调用自己,也是一种无限递归了,不建议这么写
每次运行fun1(),自己函数内部又运行,如此反复
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-9-12 11:15:40 From FishC Mobile | 显示全部楼层
塔利班 发表于 2018-9-12 11:11
你这是自己无限调用自己,也是一种无限递归了,不建议这么写
每次运行fun1(),自己函数内部又运行,如此反 ...

是不是调用自己是无限递归,调用别的就只输出一次吗
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-9-12 11:16:23 | 显示全部楼层
a545884541 发表于 2018-9-12 11:15
是不是调用自己是无限递归,调用别的就只输出一次吗

嗯,看具体情况,如果别的又调用自己,还是这样
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-9-12 11:26:42 From FishC Mobile | 显示全部楼层
哦,模模糊糊,有一点清楚了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-11-1 13:29

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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