Pythonのお勉強 Part75 (896レス)
Pythonのお勉強 Part75 http://mevius.5ch.net/test/read.cgi/tech/1743698824/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
レス栞
リロード規制
です。10分ほどで解除するので、
他のブラウザ
へ避難してください。
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
481: デフォルトの名無しさん (ワッチョイ 9360-mivq) [sage] 2025/07/19(土) 09:53:59.24 ID:RatjLwY90 >>479 スマンが、値Noneがデフォルト値として適切なケースならそれでもいいけど、一般的にそうとはいえないという点は、数値0と同じだと思う。 とはいえ、>>459に対する一般的な回答とはいえなくても、個別のケースを見れば何らかの適切なデフォルト値(多くの場合は、数値0, 1, None, 空文字烈のどれかでカバーできるんじゃないかと思う)を見つけられることが多いと思うから、実践的にはそれで十分と言えるかもしれない。 ただ、そもそも論として、複数の実引数を1つの辞書にまとめ、関数に渡すときに**でアンパックするという方法論は、本質的には場合分けを行う場所を移しているだけだよね。475末尾のsettingsのように、1まとまりのものと観念できるような場合にはともかく、一般論としては>>459と比べて分かりやすくなっているとはいえないと思うよ(辞書の名前という余分な情報が増える分だけ、読む側の負荷が増えるだけなのでは)。 http://mevius.5ch.net/test/read.cgi/tech/1743698824/481
485: デフォルトの名無しさん (ワッチョイ d401-1hpD) [sage] 2025/07/19(土) 11:21:54.47 ID:GfjIQpqe0 >>481 分岐が必要なキーワード引数が1つだけなら>>459のように単純なif-elseのほうが分かりやすいと思うが数が増えてくると辞書を使うやり方のほうが分かりやすくなることが多い ちゃんとしたプログラムならBuilderパターン使って辞書を隠蔽したAPIを用意するけど内部構造は>>479と同じ http://mevius.5ch.net/test/read.cgi/tech/1743698824/485
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.034s