питон, если условие на методы - PullRequest
0 голосов
/ 04 марта 2011

у меня есть два метода New() и Edit() и другой метод make(), который имеет некоторые операторы. New() и Edit() оба вызывают make(), однако есть некоторые операторы, которые я хотел бы пропуститьmake() если вызывающий метод - new().Возьмите пример ниже

def new():
 make()


def edit():
 make()


def make():
  statement 1
  statement 2
  statement 3 not to be executed if calling method is new()

Это реализуемо в Python?

1 Ответ

4 голосов
/ 04 марта 2011

Да - поставить утверждение 3 в edit().

В качестве альтернативы, если вы хотите, чтобы другие вещи могли вызывать make() и выполнять оператор 3, используйте ключевые аргументы, чтобы указать поведение по умолчанию:

def new():
  make(skip=True)

def edit():
  make()
  # OR: make(skip=False)

def make(skip=False):
  statement 1
  statement 2
  if not skip:
    statement 3

# Previously written invocations of make() don't have to change now
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...