Pythonのお勉強 Part75 (923レス)
Pythonのお勉強 Part75 http://mevius.5ch.net/test/read.cgi/tech/1743698824/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
レス栞
リロード規制
です。10分ほどで解除するので、
他のブラウザ
へ避難してください。
475: デフォルトの名無しさん (ワッチョイ d010-mivq) [sage] 2025/07/18(金) 23:43:46.64 ID:bJpxei9t0 関数hooの内容はブラックボックスにしておいた方が本質的な議論になるのは確かだと思うけど、可変長キーワード引数を使うのは(一般論としては)やっぱり抵抗感があるんだよね。 関数hooのその可変長キーワード仮引数は、hogeをキーとして持ち、さらにオプションでfugaもキーとして持つことができる辞書ということになるけど、そのことはコメントかリファレンスにでも書いておかないと関数のユーザー側からは分からないよね。普通、関数の仮引数に可変長キーワード引数がある場合、ユーザー側は任意のキーワード引数が渡せるものだと想定するものものだと思うんだが。任意のキーワード引数が渡せるわけではないこと(渡せるキーワード引数が一定範囲に限定されていること)を示唆するためにkwargsに代えて別の名前を使うことも考えられるけど、hoge_fugaみたいな仮引数名にするくらいなら素直に>>459で書いた方がずっと分かりやすいのではないかと思う。 hogeとfugaが何らかの設定項目のようなもので、可変長キーワード引数としてsettingsみたいな名前を使うのがぴったりくるようなシチュエーションなら良いと思うんだけどね。 http://mevius.5ch.net/test/read.cgi/tech/1743698824/475
477: デフォルトの名無しさん (ワッチョイ 7e01-1hpD) [sage] 2025/07/19(土) 00:27:33.97 ID:BXrDX6cI0 >>475 辞書アンパックをちょっと勘違いしてる `hoo(**args)`は`hoo(hoge=3)`か`hoo(hoge=3, fuga=21)`に展開されると考えればいい 関数hooの定義で可変長キーワード引数を取るようにしておく必要はない http://mevius.5ch.net/test/read.cgi/tech/1743698824/477
479: デフォルトの名無しさん (ワッチョイ 4a79-YjA1) [] 2025/07/19(土) 04:01:16.92 ID:Hbwb5ZS70 >>475 コメントとかリファレンスとか面倒なので、可変長を止めた デフォルト値も0からNoneにした 渡された引数の確認用printも止めた これでいいかな? (個人的には、hooじゃなくfooを使いたい) def hoo(*, hoge, fuga=None): pass args = {'hoge': 3} if True: args['fuga'] = 21 hoo(**args) http://mevius.5ch.net/test/read.cgi/tech/1743698824/479
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.038s