私はいくつかのコードを単純化しようとしており、関数にパラメータとして渡されたときにどの値が(def
文で定義されているように)そのパラメータをデフォルト値にする原因になっているのか疑問に思っています。例:私はそれがデフォルトだ機能を使用するようになりますscrape
関数に渡すことができるか、まったく値以外の値(s)は、以下の機能関数にパラメータとして渡されたときにどのような値が使用されると、デフォルト値が使用されますか?
def scrape(self, search_term='animals'):
を持っている私のクラスの一つで
値(動物)?
animals
を使用するよう
scrape
を引き起こす私は私が考えていた
None
に設定デフォルトでは、変数と関数を呼び出す私のメインクラスに次の関数で
が、それは実際にsearch_term=None
def list_channels(query=None):
live_source = exploreorg.Site()
links = live_source.scrape(query)
を設定し、この動作を有効にするscrape
関数に渡すことができるいくつかの値はありますか?それともif/elseを行う唯一のオプションですか?
def list_channels(query=None):
live_source = exploreorg.Site()
if query is None:
links = live_source.scrape()
else:
links = live_source.scrape(query)
私はそれがとてもかさばるように感じますが、それが最良の方法なら、私はそれで大丈夫です。私は自分がやろうとしていることを達成するためのより良い方法があると思います。
値を渡さない場合のみ、デフォルト値が使用されます。 –
デフォルトの引数は使用しないでください。これらの 'if/else'文は必要ありません。 – ForceBru
もちろん、実際のデフォルト値を渡すこともできます。 – JohanL