ホームページ >バックエンド開発 >Python チュートリアル >Python 関数の重複コード エラーを解決するにはどうすればよいですか?
Python は、習得が簡単で強力なオブジェクト指向の関数型プログラミング言語です。しかし、コードを作成するときは、よくある間違いを犯しがちです。関数には繰り返しコードがたくさんあります。この場合、この問題を解決するにはいくつかのテクニックが必要です。次に、この記事では、Python 関数でコードの繰り返しを効果的に回避できるいくつかの方法を紹介します。
一般的な例外チェック、ログ記録、時間計算などの関数内で同様のコード ブロックがよく見つかります。これらのコード ブロックを別の関数に抽出し、元の関数でその関数を呼び出すことができます。このアプローチにより、コードの重複を回避し、コードの可読性を向上させることができます。
ロギングを例として、log(message)
関数を定義できます:
import logging def log(message): logging.basicConfig(filename='example.log', level=logging.DEBUG) logging.debug(message)
次に、ログを記録する必要がある関数内でこの関数を呼び出します:
def my_function(): log('starting my_function') # 函数体 log('ending my_function')
この方法では、ログに記録する必要がある各関数での重複コードを回避でき、log
関数を呼び出すだけで済みます。
Python では、関数パラメータを使用してコードの重複を避けることができます。パラメータを関数に渡すことで、異なるデータを使用して同じ操作を実行できます。たとえば、ある関数のすべてのパラメーターを別の関数に渡すと、コードの重複を避けることができます。
def foo(a, b, c): # 函数体 def bar(a, b, c): # 函数体 foo(a, b, c) # 函数体
上記のコードでは、foo
関数が bar
関数内で呼び出され、渡されたパラメータは foo## のパラメータに対応します。 # 関数。このようにして、
bar 関数を使用して、繰り返さずに
foo 関数を呼び出すことができます。
_helper という名前の関数を含む基本クラス
BaseClass があるとします。次に、この関数をサブクラス
ChildClass1 と
ChildClass2 で使用する必要があります。
_helper 関数は、継承を通じて基本クラスからサブクラスに移動できます。
class BaseClass: def _helper(self): # 函数体 class ChildClass1(BaseClass): def method1(self): self._helper() class ChildClass2(BaseClass): def method2(self): self._helper()サブクラスでは、
_helper 関数を呼び出す必要がありますが、サブクラスごとに関数を再度記述する必要はありません。代わりに、基本クラスのコードを継承するだけで問題を解決できます。
以上がPython 関数の重複コード エラーを解決するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。