[解決済み] Pythonで適切な「何もしない」ラムダ式は?
2023-01-01 01:19:01
質問
私は時々、「何もしない」ラムダ式を作りたいと思うことがあります。
def do_nothing(*args):
pass
しかし、ラムダ式はコロンの後にあるものを返そうとするので、次の構文は不正です。
pass
.
do_nothing = lambda *args: pass
そこで思ったのですが、次のような表現は上記の置き換えとして適切でしょうか?
do_nothing = lambda *args: None
というのは
do_nothing
関数は技術的には
None
を返すラムダ式を作ってもいいのでしょうか?
None
を返すラムダ式を作り、プレースホルダのラムダ式として使ってもいいのでしょうか?それともバッドプラクティスでしょうか?
どのように解決するのですか?
これです。
def do_nothing(*args):
pass
とは等価である。
lambda *args: None
いくつかの細かい違いはありますが、一方は
lambda
であることと、そうでないことです。(例えば
__name__
は
do_nothing
となり、関数上では
<lambda>
を使います)。忘れちゃいけないのが
**kwargs
を忘れないでください。Pythonの関数で、明示的に
return <x>
を返す
None
. これは
これは
:
例外が発生しない限り、呼び出しは常に何らかの値、場合によってはNoneを返します。
似たような関数をデフォルト値として使っていて、例えば
def long_running_code(progress_function=lambda percent_complete: None):
# Report progress via progress_function.
関連
-
[解決済み] Pythonには文字列の'contains'サブストリングメソッドがありますか?
-
[解決済み] Pythonで現在時刻を取得する方法
-
[解決済み] Pythonで2つのリストを連結する方法は?
-
[解決済み] ファイルのコピー方法について教えてください。
-
[解決済み] Pythonで例外を手動で発生(スロー)させる
-
[解決済み】ネストされたディレクトリを安全に作成するには?
-
[解決済み】C++11のラムダ式って何?
-
[解決済み】Pythonに三項条件演算子はありますか?
-
[解決済み】2つの辞書を1つの式でマージする(辞書の和をとる)には?)
-
[解決済み] PILからopenCVフォーマットへの変換
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] PILからopenCVフォーマットへの変換
-
[解決済み] Pythonの要素別タプル演算(sumなど
-
[解決済み] DataFrameに日付間の日数カラムを追加する pandas
-
[解決済み] Django Rest Framework ファイルアップロード
-
[解決済み] 文字列から先頭と末尾のスペースを削除するには?
-
[解決済み] SQLAlchemy - テーブルのリストを取得する
-
[解決済み] Flask でグローバル変数はスレッドセーフか?リクエスト間でデータを共有するには?
-
[解決済み] Pandasを使って、既存のExcelファイルに新しいシートを保存する方法は?
-
[解決済み] PySparkでデータフレームのカラムをString型からDouble型に変更する方法は?
-
[解決済み] 単純な文字列からtimedeltaオブジェクトを作成する方法