関数に余分な引数を渡したい場合、それらが存在している場合にはそれに応じて動作します(関数から何かを出力する)。もしそれらのフラグが存在しなければ関数を実行するだけです通常、余分な情報を印刷しないで、私はこれにどのようにアプローチしますか?関数内のオプションのフラグ
乾杯
関数に余分な引数を渡したい場合、それらが存在している場合にはそれに応じて動作します(関数から何かを出力する)。もしそれらのフラグが存在しなければ関数を実行するだけです通常、余分な情報を印刷しないで、私はこれにどのようにアプローチしますか?関数内のオプションのフラグ
乾杯
のはx
、y
とz
を言ってみましょう必要argrumentsあるとopt
はオプションです:
def f(x, y, z, opt=None):
# do required stuff
if opt is not None:
# do optional stuff
これは、3つのまたは4つの引数のいずれかで呼び出すことができます。あなたはその考えを得る。
def fextrao(x, y, a=3):
print "Got a", a
#do stuff
def fextrad(x, y, **args):
# args is a dict here
if args.has_key('a'):
print "got a"
# do stuff here
def fextrat(x, y, *args):
# args is a tuple here
if len(args) == 1:
print "Got tuple", args[0]
#do stuff
fextrao(1, 2)
fextrao(1, 2, 4)
fextrad(1, 2, a=3, b=4)
fextrat(1, 2, 3, 4)
デフォルトの値は、オプションの引数と同様に、関数の引数に設定できます。このような何か:
def myFunction(required, optionalFlag=True):
if optionalFlag:
# do default
else:
# do something with optionalFlag
ます。また、キーワード引数を使用することができます。
def f(x, y, **kwargs):
if 'debug_output' in kwargs:
print 'Debug output'
次に、あなたが好きなだけを持つことができます。..
f(1,2, debug_output=True, file_output=True)