gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 22:07:04 26 4
gpt4 key购买 nike

我创建了下面的代码,但是当我点击 click me 按钮时,我收到以下错误消息:

TypeError: 'mpfr' object is not callable

有人知道代码有什么问题吗?

import gmpy2 as g
from ipywidgets import widgets
from IPython.display import display

button = 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
return

def 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))

最佳答案

button.on_click 必须被赋予一个回调函数。您传递使用参数 2 评估的 on_button_clicked结果(因此,字面意思是 2 的平方根),而不是传递一个函数。您可以使用部分函数求值来完成您想要的操作,只需将最后一行代码替换为:

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

关于python - 在 python 中,如何在单击事件上调用带有参数的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50951403/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com