0

これらのオプション ワークフローの比較を探しています (以下の #1 と #2)。だから私は別の x() 関数を呼び出している関数 xx() を使用しています。これは一般的なプログラミング ワークフローです (コードは Python 構文ですが、フロー ロジックは他のどの言語にも適用できます)。

したがって、オプション#1は、ある関数から別の関数に引数を渡す必要があるワークフローを示していますが、#2ではすべての引数を渡す必要はなく、最初の関数の出力だけを引数として2番目の関数に渡します。

オプション1 :

def x(a):
    <code>
    return  value

def xx(a):
    x=x(a)
    <code>
    return value

print xx(a)

オプション #2:

def x(a):
    <code>
    return  value

def xx(x):
    <code>
    return value

x=x(a)
print xx(x)

あくまでも簡単な例です。オプション#1でこれまでに見つけたものは、 x() に渡されるすべての引数も xx() に渡す必要があります。多くの引数を渡すときの例 (これは、複数の引数を渡すために * または ** を使用しない基本的な例です):

オプション1

def x(a1,a2,….a100):
    <code>
    return value

def xx(b1,b2,…..b100):
    x=x(b1,b2,….b100)
    <code>
    return value

print xx(45,'test',....,999)

オプション#2

def x(a1,a2,….a100):
    <code>
    return value

def xx(x):
    <code>
    return value

x=x(45,'test',....,999)
print xx(x)

#1では、 def xx() に渡す引数を入力するために多くの「タイピング」を行う必要がありますが、#2はよりクリーンでデバッグしやすいです。では、これらのワークフローについてどう思いますか? ワークフロー#1にはいくつかの利点がありますか?#2は一般的に優れていますか?どう思いますか?1位と2位を選ぶ理由。

4

1 に答える 1

3

select_color_from_obj不要な機能のようです。あなたはただ電話することができます

get_obj().color()

またget_obj()、他のコードと同じスコープ内にある場合は、オブジェクトに直接アクセスできます

obj.color()

ただし、 の定義がobj別のファイルにget_objある場合は、役立つ場合があります。

于 2012-05-02T06:09:46.167 に答える