В этом фрагменте кода, почему строка 6 будет выполняться с условным оператором "if f (3):", не будет ли это просто запросом "if 3", поскольку f (x) просто возвращает x?
Кроме того, почему «not y» возвращает False, если y в этом случае равно 3?
1 def f(x):
2 return x
3
4 def g(x, y):
5 if x(y):
6 return not y
7 return y
8
9 x = 3
10 x = g(f, x)
11 f = g(f, 0)