Я решаю головоломку с использованием python и в зависимости от того, какую головоломку я решаю, мне придется использовать специальный набор правил. Как передать функцию в другую функцию в Python?Python - Передача функции в другую функцию
Пример
def Game(listA, listB, rules):
if rules == True:
do...
else:
do...
def Rule1(v):
if "variable_name1" in v:
return False
elif "variable_name2" in v:
return False
else:
return True
def Rule2(v):
if "variable_name3" and "variable_name4" in v:
return False
elif "variable_name4" and variable_name1 in v:
return False
else:
return True
Это просто псевдо-код и, следовательно, не специфичны, но я получаю код для компиляции, но мне нужно знать, как вызвать функцию Game
и является ли это правильно определено, так как правила будут переключены для Rule1(v)
или Rule2(v)
.
функции являются объектами первого класса в Python. вы можете передать их, включить их в dicts, списки и т. д. Просто не включайте скобки после имени функции. Например, для функции с именем 'myfunction':' myfunction' означает сама функция, 'myfunction()' означает вызов функции и получение ее возвращаемого значения. – nosklo
Мне нравятся простые примеры, они просто имеют смысл !!! – mongotop
А что, если функция является методом объекта и использует свойство этого объекта для выполнения своей работы? – CpILL