[解決済み] Python で引数リストを使って関数を呼び出す
2022-04-25 15:06:47
質問
Pythonで別の関数の中にある関数を呼び出そうとしているのですが、正しい構文が見つかりません。私がしたいことは次のようなものです。
def wrapper(func, args):
func(args)
def func1(x):
print(x)
def func2(x, y, z):
return x+y+z
wrapper(func1, [x])
wrapper(func2, [x, y, z])
この場合、最初の呼び出しはうまくいき、2番目の呼び出しはうまくいきません。 私が修正したいのはラッパー関数であって、呼び出された関数ではありません。
どのように解決するのですか?
他の回答を少し展開します。
行で。
def wrapper(func, *args):
の隣にある*は
args
は、指定された残りのパラメータを受け取り
args
となります。
行で。
func(*args)
の隣にある*は
args
ここで、quot;は、このargsと呼ばれるリストを取って、残りのパラメータに「アンラップ」することを意味します。
つまり、次のようなことができるわけです。
def wrapper1(func, *args): # with star
func(*args)
def wrapper2(func, args): # without star
func(*args)
def func2(x, y, z):
print x+y+z
wrapper1(func2, 1, 2, 3)
wrapper2(func2, [1, 2, 3])
で
wrapper2
では、リストは明示的に渡されますが、両方のラッパーで
args
はリストを含んでいます。
[1,2,3]
.
関連
-
[解決済み] データ型が理解できない
-
[解決済み】NameError: 名前 'self' が定義されていません。
-
[解決済み] プログラムの実行やシステムコマンドの呼び出しはどのように行うのですか?
-
[解決済み] リストのリストからフラットなリストを作るには?
-
[解決済み] リスト内のアイテムのインデックスを検索する
-
[解決済み] callとapplyの違いは何ですか?
-
[解決済み] 最小限の驚き」と「変更可能なデフォルトの引数
-
[解決済み] 関数のソースコードを見るにはどうしたらいいですか?
-
[解決済み】ネストされたディレクトリを安全に作成するには?
-
[解決済み】Pythonに三項条件演算子はありますか?
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
Python機械学習Githubが8.9Kstarsに達したモデルインタープリタLIME
-
Python入門 openを使ったファイルの読み書きの方法
-
[解決済み】お使いのCPUは、このTensorFlowバイナリが使用するようにコンパイルされていない命令をサポートしています。AVX AVX2
-
[解決済み】ilocが「IndexError: single positional indexer is out-of-bounds」を出す。
-
[解決済み】なぜ「LinAlgError: Grangercausalitytestsから「Singular matrix」と表示されるのはなぜですか?
-
[解決済み】TypeError: 系列を <class 'float'> に変換することができません。
-
[解決済み】Pythonでgoogle APIのJSONコードを読み込むとエラーになる件
-
[解決済み】 AttributeError("'str' object has no attribute 'read'")
-
[解決済み】Python: OverflowError: 数学の範囲エラー
-
[解決済み】ImportError: bs4という名前のモジュールがない(BeautifulSoup)