[過去ログ] Pythonのお勉強 Part65 (1002レス)
前次1-
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
458: (ワッチョイ 5728-G/OO) 2021/09/19(日)13:50 ID:neurUQ4a0(1/5) AAS
質問ですがPythonで
 if True:
  文1
  文2
  ...
  文n
459
(2): (ワッチョイ 5728-G/OO) 2021/09/19(日)13:54 ID:neurUQ4a0(2/5) AAS
みたいに無条件に入って出るだけのブロックってもっと簡単に書く方法はありませんか、
単体テストコードをコピペで数いっぱい作るときにC/C++やPerlとかだと
void FooTest() {
 {
  const int x = 1;
  const int y = 2;
  (x, yをパラメータとする簡単なテストコード)
 }
 {
  const int x = 3;
省11
462
(2): (ワッチョイ 5728-G/OO) 2021/09/19(日)15:13 ID:neurUQ4a0(3/5) AAS
>>460
>少なくともその例なら{}で囲う必要が無い
あります
xとyのスコープが区切られねばC++/Cではコンパイルエラーになるし、
Pythonでもテストの独立性を記述レベルで担保する必要がある
さもないと、誰かが途中でパラメータ名xを一か所x2に変えるだけでその後のテストがイミフになりかねない
465
(1): (ワッチョイ 5728-G/OO) 2021/09/19(日)15:36 ID:neurUQ4a0(4/5) AAS
>>463
何がしたいのかというと、(>>459にも書いたあるが)単体テストコードをコピペで数いっぱい作りたいのでつ、

Pytestでparametrizeみたいな仕組みがあることは予期してた
しかし、例えばPytestでparametrizeでパラメータ数20個のテストメソッドを書いて、
ふとちょっとだけ条件を変えたパラメータ数21個のテストを書きたくなった時、
既存のテストコードを壊さないために、
結局パラメータ数20個の既存のテストメソッドはそのままにして、それをコピペしてちょっと変えて
パラメータ数21個の新しいテストメソッドを作ることになるわけじゃん?
{ }でスコープを分けてコピペするのに対して省力化になっらない見込み……
468
(1): (ワッチョイ 5728-G/OO) 2021/09/19(日)20:29 ID:neurUQ4a0(5/5) AAS
>>466
りょーかい

>>467
>Pythonではifやforではスコープが出来ない(ブロックスコープがない)ので、
えっ
しかしまあラムダ式という奥の手があるかもしれん……
Pythonにおける変数のキャプチャの仕様は知らんけど
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.039s