例えばRoomクラスとUserやUserクラス作ったときに
Userクラスのメソッドで[user1,user2,user3,]渡せたり
RoomクラスにUserインスタンスのリストを渡せる仕様にしたとき
まとめて渡せるけどむしろ野暮ったく感じるのはおれだけだろうか
可変長引数を使わない場合
user1=User(ユーザー1)
users = []
users.append(user1)
room = Room(users)
#room.add_user(users)
↑ユーザーを渡していますよ、というより(ユーザーだけが格納された)コレクションを渡していますよという意味合いが強まってしまう、気がする。もちろんリストを渡さなければいいわけだがそれだとadd_usersなど複数形のときにはリスト渡そうね、といったアノテーションが増える。なんか野暮い
可変長引数を使う場合
user1=User(ユーザー1)
room = Room()
room.add_user(user1)
#room.add_user(user2,user3,,)
#users=[user4]#users.append(user5)
#room.add_user(*users)
↑ユーザー単体を渡している感が強まる、気がする。add_userで可変長引数使いたくないときはそもそもひとつしか渡さなければいいし、複数可は可変長引数をもったadd_usersにでも任せればいい(なければ使えないだけ)。渡された値の正否に集中できるので例外処理がシンプル
リスト渡したいときは、リストの各値の扱いがバラバラのとき、[int,str,obj1,obj2,,,]みたいなときくらいしか無いような気がするんだがそれだと、そもそも設計ミスのような。もちろん近くのコンビニに部屋着で行く感覚ならどうでもいいと思うけど
Pythonのお勉強 Part71
■ このスレッドは過去ログ倉庫に格納されています
306デフォルトの名無しさん (アウアウウー Sa39-k2x6)
2023/10/11(水) 20:10:05.07ID:Jxad2l7za■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【中国外務省】日中関係悪化は高市氏に責任と名指しで非難… [BFU★]
- 【中国外務省】日中関係悪化は高市氏に責任と名指しで非難… ★2 [BFU★]
- 外務省局長は無言で厳しい表情…日中の高官協議終了か 高市首相“台湾”発言で中国が強硬対応 発言撤回求めたか…★2 [BFU★]
- 小野田紀美・経済安保担当相「何か気に入らないことがあればすぐに経済的威圧をする国への依存はリスク」 [Hitzeschleier★]
- 政府、株式の配当など金融所得を高齢者の医療保険料や窓口負担に反映する方針を固めた [バイト歴50年★]
- 【維新】吉村知事「中国人観光客だけに頼るビジネスモデル変えていかないといけない」「高市総理の発言は撤回する必要はない」 [Hitzeschleier★]
- 中国高官と話す外務省局長の表情、やばい [175344491]
- 中国外務省「日中関係の悪化は高市早苗首相が原因」と名指しで強く非難。キタ━(゚∀゚)━! [153490809]
- 小野田経済安保相「すぐに経済的威圧するところへの依存はリスク」😲 [861717324]
- 【高市速報】明日から中国からの輸入が停止すれば2ヵ月で国内の生産業に53兆円の損失発生 [931948549]
- 【悲報】ジャップ、どうやら中国が一方的に戦争仕掛けてくると思ってる模様😰 [616817505]
- 日本政府「高市総理の発言は問題ないと伝え、中国総領事のSNS投稿は問題があると中国に伝えました😊」 [931948549]
