python,如果条件方法

时间:2011-03-04 01:49:11

标签: python methods if-statement

我有两种方法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 个答案:

答案 0 :(得分:4)

是 - 将陈述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