Я сейчас изучаю Python GUI библиотеку tkinter. Я создавал простой калькулятор, теперь я использовал это частичное из класса functools, теперь со многих сайтов я узнал, что для того, чтобы использовать частичную функцию, вам нужно, чтобы сначала вам нужно было создать функцию с каким-то ограниченным переменные, например, такие как 3 переменные
def sum(x , y , z):
return x+y+z
сейчас, чтобы использовать частичное, вам нужно сделать следующее
sum_new = partial(sum , 2 , 3)
print(sum_new(5))
В основном выполнение приведенного выше оператора автоматически присвоит значение 2 переменной x в сумме функций и аналогично от 3 до y и от 5 до z. Проблема: Я создаю этот калькулятор. Теперь в операторе вызова я вызываю частичную функцию без использования круглых скобок. Почему это так?
calculate = partial(calculation, empty_label , x1 , x2 , x3)
calculate_button = Button(Win , text = "Calculate" , activeforeground = 'red' , command = calculate)
calculate_button.grid(row = 4 , column = 0)
, см. Выше command = рассчитать
Вторая точка
def sum(Label , x1 , x2):
n1 = (x1.get())
n2 = (x2.get())
result = int(n1) + int(n2)
Label.config(text = "Sum is %d" %result)
return
def calculation(empty_label , x1 , x2 ,x3):
n3 = (x3.get())
if n3 == '+':
sum1 = partial(sum , empty_label , x1 ,x2)
sum1()
Почему здесь мне нужно использовать sum1 () в скобках, а в point 1 я не сделал не нужно никаких скобок. Хотя мы знаем, что sum1 не является функцией, пожалуйста, объясните эти моменты, пожалуйста. Спасибо