You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python Turtle中onclick()为何立即调用绑定函数?

问题根源与修复方案
  • 问题本质:调用onclick()时,你传入的是draw_onclick2()和draw_onclick()——这是直接执行函数并把返回值传给方法,所以代码运行到这一行就会立即触发函数,根本等不到点击事件。
  • 修复代码:把函数名后的括号去掉,传递函数本身的引用即可:
    button2.onclick(draw_onclick2)
    button.onclick(draw_onclick)
    
  • 额外说明:如果需要给绑定的函数传自定义参数,可以用lambda包装(注意onclick默认会把点击坐标作为参数传给函数,所以lambda要接收这两个参数):
    # 示例:给draw_onclick2传自定义参数
    button2.onclick(lambda x, y: draw_onclick2("自定义参数"))
    

内容的提问来源于stack exchange,提问作者TheDefenestrator

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.30 08:07:16