为了账号安全,请及时绑定邮箱和手机立即绑定

在python中,如何在click事件上调用带有参数的函数

在python中,如何在click事件上调用带有参数的函数

慕码人8056858 2021-03-31 21:14:03
我创建了以下代码,但是当我单击click me按钮时,出现以下错误消息:TypeError: 'mpfr' object is not callable有人知道代码有什么问题吗?import gmpy2 as gfrom ipywidgets import widgetsfrom IPython.display import displaybutton = widgets.Button(description="Click Me!")display(button)max_precision = g.get_max_precision()pi = g.const_pi()g.set_context(g.context())def set_bits_precision(decimal_precision):    bits_precision = int(decimal_precision/g.log(2))    if (bits_precision > max_precision): bits_precision = max_precision    ctx = g.get_context()    ctx.precision = bits_precision    returndef square_root(number):    return g.sqrt(number)def circle_perimeter(radius):    return 2*pi*radius def on_button_clicked(x):    return square_root(x)set_bits_precision(10)print(pi)button.on_click(on_button_clicked(2))
查看完整描述

1 回答

?
小怪兽爱吃肉

TA贡献1852条经验 获得超1个赞

button.on_click必须提供一个回调函数。您传递参数2的计算结果on_button_clicked(因此,实际上是2的平方根),而不传递函数。您可以使用部分函数评估来完成您想要的事情,方法是将最后一行代码替换为:


import functools

button.on_click(functools.partial(on_button_clicked, 2))


查看完整回答
反对 回复 2021-04-09
  • 1 回答
  • 0 关注
  • 602 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信