2016-10-14 14 views
0

これを行うより良い方法はありますか?私はfuncに引数を渡しているのと同じように、inside_funcの機能で使用されますか?内部の関数で使用される関数の引数にPythonが渡されていますか?

def inside_func(arg1,arg2): 
    print arg1, arg2 
    return 

def func(arg1, arg2): 
    inside_func(arg1,arg2) 
    return 
+1

標準ライブラリはそのような用途に満ちています。 –

+0

実際にはそうではありません、それはもっとたくさんするでしょう。デモを試みるだけです。 – essramos

+0

デコレータはIMOでも使用できます。 – pnv

答えて

6

もちろんです。

あなたの外部機能はサービスを提供し、仕事をするためには入力が必要な場合があります。 これらの入力をどのように使用するかは、までです。彼らが仕事をするために別の関数を必要とし、それらが引き続き引数を渡すならば、実装の詳細です。

ここでは、標準的なカプセル化とモジュール化以外は何もしていません。これは、Pythonだけではなく、どの言語でも正しいプログラミング方法になります。

Python標準ライブラリには例がたくさんあります。迅速な使用のためのより簡単なインタフェースを提供するためによく使用されます。例えばtextwrap.wrap() function

def wrap(text, width=70, **kwargs): 
    """Wrap a single paragraph of text, returning a list of wrapped lines. 

    Reformat the single paragraph in 'text' so it fits in lines of no 
    more than 'width' columns, and return a list of wrapped lines. By 
    default, tabs in 'text' are expanded with string.expandtabs(), and 
    all other whitespace characters (including newline) are converted to 
    space. See TextWrapper class for available keyword args to customize 
    wrapping behaviour. 
    """ 
    w = TextWrapper(width=width, **kwargs) 
    return w.wrap(text) 

これは、他には何もしませんが、他の呼び出し可能オブジェクトへの上に引数を渡す、ちょうどので、あなたのコードは、迅速な一回限りのテキストの折り返しジョブのTextWrapper()クラスを使用する方法を覚えておく必要はありません。 。

+0

ああ、啓発に感謝します! :)私はちょうどそれが標準的なものではないと思った。 – essramos

関連する問題