当スレに★Python以外のプログラミング言語での回答類を書くべからず★
派生言語はそれぞれ専スレがあるのでそっち池。
「Ruby」「某言語では」をNGワード登録推奨。荒らしは、完全スルー放置が一番きらいです。
このスレッドは「お勉強」スレのほうには書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を、勇気を持って書き込むスレッドです。
へび使いが優しくコメントを返しますので、お礼は Python の布教と初心者の救済をお願いします。
★エラーを解決したい場合は、
表示されてるエラー全文(勝手に省略やスクショうp等の横着クソ行為禁止)と、
実行環境(Pythonのバージョン・OSとIDEの種類とバージョン)をシッカリ書くこと。
【【【複数の連続半角スペースはなかったことになる・タブがうまく入らない5chの仕様】】】に注意!
Pythonの★ソースコードをそのまま5ちゃんにコピペすると、インデントが崩れてチヌ★ので
↓等の、いわゆるコードうp用サイトに貼ってこいください。
ttps://techiedelight.com/compiler/ Run Code機能あり。
ttp://ideone.com/ デフォ設定はC用のため、言語選択ボタン押下がピコ手間かも。
ttp://codepad.org/ ほぼ直感的に使える。Run codeボタンあり。
ttp://pastebin.com/ まずまずシンプル。
ttp://dpaste.com/ とてもシンプル。消えるまでの日数は十分長ーく指定のこと。
◇Python公式サイト◇ http://www.python.org/
◇まとめwiki◇ ttp://python.rdy.jp/wiki.cgi
〇前スレ〇 くだすれPython(超初心者用) その51【まず1嫁】
https://mevius.5ch.net/test/read.cgi/tech/1602896738/
次スレは >>985 あたりが挑戦してくだしあ。(980過ぎて自動落ちは、無くなって久しい)
### END OF TEMPLATE ###
探検
くだすれPython(超初心者用) その52【まず1嫁】
■ このスレッドは過去ログ倉庫に格納されています
2021/01/09(土) 05:22:25.24ID:IpHIsox4
552デフォルトの名無しさん
2021/02/19(金) 19:22:35.73ID:UVFRc2z2 if 条件A:
真ならなんか処理して(if文グループの終わり)に行く
if 条件B:
真ならなんか処理して(if文グループの終わり)に行く
if 条件C:
真ならなんか処理して(if文グループの終わり)に行く
(if文グループの終わり)
ていうようなことをしたい。
elseで次のifを書いていくとインデントがどんどん右に行くんだがなんかいい方法ない?
考えたのはfor文の中にいれて真ならbreakてやったんだが、普通はどうかくの?
真ならなんか処理して(if文グループの終わり)に行く
if 条件B:
真ならなんか処理して(if文グループの終わり)に行く
if 条件C:
真ならなんか処理して(if文グループの終わり)に行く
(if文グループの終わり)
ていうようなことをしたい。
elseで次のifを書いていくとインデントがどんどん右に行くんだがなんかいい方法ない?
考えたのはfor文の中にいれて真ならbreakてやったんだが、普通はどうかくの?
553デフォルトの名無しさん
2021/02/19(金) 19:26:56.94ID:8rw3YsL8 >>552
elif
elif
554デフォルトの名無しさん
2021/02/19(金) 21:00:13.10ID:UVFRc2z2 >>553
レスサンクス。
if文の前に前処理があるやつだとどうする?
(if文グループの始まり
条件Aの前処理
if 条件A:
真ならなんか処理して(if文グループの終わり)に行く
条件Bの前処理
if 条件B:
真ならなんか処理して(if文グループの終わり)に行く
条件Cの前処理
if 条件C:
真ならなんか処理して(if文グループの終わり)に行く
(if文グループの終わり)
goto文でできるが、gotoてどの言語でも推奨じゃないよね?
なんかif文グループの入れ子を作って、入れ子を抜けるようなことてforでやるしかない?
レスサンクス。
if文の前に前処理があるやつだとどうする?
(if文グループの始まり
条件Aの前処理
if 条件A:
真ならなんか処理して(if文グループの終わり)に行く
条件Bの前処理
if 条件B:
真ならなんか処理して(if文グループの終わり)に行く
条件Cの前処理
if 条件C:
真ならなんか処理して(if文グループの終わり)に行く
(if文グループの終わり)
goto文でできるが、gotoてどの言語でも推奨じゃないよね?
なんかif文グループの入れ子を作って、入れ子を抜けるようなことてforでやるしかない?
555デフォルトの名無しさん
2021/02/19(金) 21:19:47.88ID:yv2d5Olu インデントがわからないからはっきり分からないが
並列なifなら関数化してearly return
並列なifなら関数化してearly return
556デフォルトの名無しさん
2021/02/19(金) 21:24:45.22ID:dkFXvWzJ >>554
何もないコードブロックって作れないよね?
無理やりifでコードブロックにして
if True:
前処理A
if 条件A:
処理A
break
前処理B
if 条件B
とかやれば出来なくもない。
何もないコードブロックって作れないよね?
無理やりifでコードブロックにして
if True:
前処理A
if 条件A:
処理A
break
前処理B
if 条件B
とかやれば出来なくもない。
557デフォルトの名無しさん
2021/02/19(金) 21:27:13.31ID:yv2d5Olu breakできるのはloop内だけじゃないかな
558デフォルトの名無しさん
2021/02/19(金) 21:28:47.87ID:8rw3YsL8 >>554
while True:で始めてbreakで抜けるのが良いだろうけど、
本質的には処理はネストしてる(前処理Cは前処理A,Bを前提としている)ことを考えると、
if文をネストさせるかもしれないな。
それか前処理がエラーチェックだったらdefで切り出してreturnするか。
Cでリソース解放を必ずしたい場合とかはgoto使うこともあるけど、定石はないというか、ケースバイケースでif文使ったりgoto使ったりしてるな。
try/catchとかも制限付きgotoみたいなものだから、濫用しなければgoto使ってもいいと思うけどね。
while True:で始めてbreakで抜けるのが良いだろうけど、
本質的には処理はネストしてる(前処理Cは前処理A,Bを前提としている)ことを考えると、
if文をネストさせるかもしれないな。
それか前処理がエラーチェックだったらdefで切り出してreturnするか。
Cでリソース解放を必ずしたい場合とかはgoto使うこともあるけど、定石はないというか、ケースバイケースでif文使ったりgoto使ったりしてるな。
try/catchとかも制限付きgotoみたいなものだから、濫用しなければgoto使ってもいいと思うけどね。
559デフォルトの名無しさん
2021/02/19(金) 21:29:07.83ID:dkFXvWzJ560デフォルトの名無しさん
2021/02/19(金) 21:44:37.71ID:fFbWPHDZ if func1:
if func2:
if func3:
if func4:
if func2:
if func3:
if func4:
561デフォルトの名無しさん
2021/02/19(金) 22:06:38.25ID:yv2d5Olu ↓これでよくない?
def if_group():
__条件Aの前処理
__if 条件A:
____do_somethingA()
____return
__条件Bの前処理
__if 条件B:
____do_somethingB()
____return
__条件Cの前処理
__if 条件C:
____do_somethingC()
____return
def if_group():
__条件Aの前処理
__if 条件A:
____do_somethingA()
____return
__条件Bの前処理
__if 条件B:
____do_somethingB()
____return
__条件Cの前処理
__if 条件C:
____do_somethingC()
____return
562デフォルトの名無しさん
2021/02/20(土) 00:02:39.45ID:/remXlTv if_group() 呼ばないと。
563デフォルトの名無しさん
2021/02/20(土) 00:22:00.93ID:N/y0hS3O 即席で関数定義する方がセンスよさげだが自分なら完了済みフラグ設けて済ませたな
564デフォルトの名無しさん
2021/02/20(土) 00:49:34.69ID:1Y17sdX3 こういうんじゃあかんのけ?
a = 4
if (lambda: [print("hello"), print("world")])() and a == 3:
__print("foobar")
elif (lambda: [print("kon"), print("nichiwa")])() and a == 4:
__print("hogefuga")
a = 4
if (lambda: [print("hello"), print("world")])() and a == 3:
__print("foobar")
elif (lambda: [print("kon"), print("nichiwa")])() and a == 4:
__print("hogefuga")
565デフォルトの名無しさん
2021/02/20(土) 02:07:34.86ID:nciJ6+jd >>559
552だけどオレが思いついたのはその方法。
この手の処理て模範解答的にはどうやってやるんだろう?
フラグ立ててフラグが真じゃなければ次のifブロックに行かないとかやってたけど。
関数にするとコードが見にくくなるし、一回しか通らない処理を関数にするのも無駄なような。
オレが新入社員のときにやったCOBOLもどきのIDL2にはblock文てのはあって一回だけ実行するfor文みたいなものがあった。
552だけどオレが思いついたのはその方法。
この手の処理て模範解答的にはどうやってやるんだろう?
フラグ立ててフラグが真じゃなければ次のifブロックに行かないとかやってたけど。
関数にするとコードが見にくくなるし、一回しか通らない処理を関数にするのも無駄なような。
オレが新入社員のときにやったCOBOLもどきのIDL2にはblock文てのはあって一回だけ実行するfor文みたいなものがあった。
566デフォルトの名無しさん
2021/02/20(土) 02:40:31.51ID:56yjs2OO >>564
コードから意図が全く読めんからあかん
コードから意図が全く読めんからあかん
567デフォルトの名無しさん
2021/02/20(土) 08:48:49.94ID:Y+RPXUXT 自分なら>>561にするな
アーリーリターン
アーリーリターン
568デフォルトの名無しさん
2021/02/20(土) 08:49:50.45ID:/remXlTv >>565
前処理とifがあるなら関数にまとめてもいいかも。
def processA():
前処理A
if 条件A:
処理A
:
processA()
processB()
processC()
せっかくgoto追加してくれたんだから使えばいいか。
前処理とifがあるなら関数にまとめてもいいかも。
def processA():
前処理A
if 条件A:
処理A
:
processA()
processB()
processC()
せっかくgoto追加してくれたんだから使えばいいか。
569デフォルトの名無しさん
2021/02/20(土) 09:25:41.17ID:Y+RPXUXT >>554のいう前処理がわからんけど
それぞれでif文書いて、条件に早めにFalse返す関数使えば、別にネストもする必要ないじゃん
前処理って何やってんだよ
どうしても各分岐の前にがっつり処理しないとだめなんか?
それぞれでif文書いて、条件に早めにFalse返す関数使えば、別にネストもする必要ないじゃん
前処理って何やってんだよ
どうしても各分岐の前にがっつり処理しないとだめなんか?
570デフォルトの名無しさん
2021/02/20(土) 12:42:23.67ID:lyTdLi7+ >>569
コードを晒すとこういうことをやってる。
これだとif elif elseじゃ書けないよな。
関数にするにしてもそれぞれやってることが違う。
559みたいにforを使ってみた例。
#ifグループの始まり
for i in range(1):
--o_btn=driver.find_elements_by_xpath('//input[@class="button"]')
--if len(o_btn)>0:
----f_x=f_x+1
----break
--o_btn=driver.find_elements_by_css_selector('div.btn_set>input')
--if len(o_btn)>0:
----f_y=f_y+1
----break
--o_btn=driver.find_elements_by_css_selector('div.btn_back>input')
--if len(o_btn)>0:
----f_z=f_z+1
----break
#ifが真だったらここに飛びたい。
コードを晒すとこういうことをやってる。
これだとif elif elseじゃ書けないよな。
関数にするにしてもそれぞれやってることが違う。
559みたいにforを使ってみた例。
#ifグループの始まり
for i in range(1):
--o_btn=driver.find_elements_by_xpath('//input[@class="button"]')
--if len(o_btn)>0:
----f_x=f_x+1
----break
--o_btn=driver.find_elements_by_css_selector('div.btn_set>input')
--if len(o_btn)>0:
----f_y=f_y+1
----break
--o_btn=driver.find_elements_by_css_selector('div.btn_back>input')
--if len(o_btn)>0:
----f_z=f_z+1
----break
#ifが真だったらここに飛びたい。
571デフォルトの名無しさん
2021/02/20(土) 12:57:26.42ID:AfgxbbrB 最初から変数3つ並べてif-elseでいいじゃん
572デフォルトの名無しさん
2021/02/20(土) 12:58:54.20ID:QmInm3o3 同時成立でも問題なさそうだけど。
573デフォルトの名無しさん
2021/02/20(土) 13:14:35.97ID:QO6ABfSl インデントが2つだったり、3つだったりばらばらで作ってしまったんですけど、コレを自動で整形する方法ってありますか??
574デフォルトの名無しさん
2021/02/20(土) 13:28:03.26ID:EQ4Fmj1U575デフォルトの名無しさん
2021/02/20(土) 14:29:20.46ID:56yjs2OO >>573
autopep8かblackで自動整形できるよ
autopep8かblackで自動整形できるよ
576デフォルトの名無しさん
2021/02/20(土) 14:32:57.68ID:TBTHb+Gp black使ってるけど1行あたりの文字数だけは弄って150にしてるわ
デフォだとキツすぎディスプレイ縦置き専用かよと
デフォだとキツすぎディスプレイ縦置き専用かよと
577デフォルトの名無しさん
2021/02/20(土) 18:32:17.48ID:56yjs2OO >>570
“ifグループ”と呼んでるものに名前をつけて関数化するほうがベターだと思うけどif-elseでも書けるよ
“ifグループ”と呼んでるものに名前をつけて関数化するほうがベターだと思うけどif-elseでも書けるよ
578デフォルトの名無しさん
2021/02/21(日) 00:57:40.63ID:aCzr4+Gv 君たち>>570みたとたん明らかにやる気なくしてるよね
579デフォルトの名無しさん
2021/02/21(日) 01:09:16.38ID:f0EcfH0m if len(o_btn := driver.find...) > 0:
elif ...
3.8以上限定
elif ...
3.8以上限定
580デフォルトの名無しさん
2021/02/21(日) 02:40:07.07ID:G4m9GHw4 blackはやりすぎだなと思うことあるわ。
コードを見やすくするためのコードフォーマットなのに逆に見辛くなるとか本末転倒すぎる。
コードを見やすくするためのコードフォーマットなのに逆に見辛くなるとか本末転倒すぎる。
581デフォルトの名無しさん
2021/02/21(日) 03:56:32.45ID:XsukC5HX そうだよなblack lives matterはやりすぎニガーは調子に乗るな!
582デフォルトの名無しさん
2021/02/21(日) 08:27:14.13ID:YmTCK60y 構造体データて扱えるの?
こういうやつ。
01 従業員.
----05 従業員番号 PIC 9(7).
----05 従業員名 PIC X(30).
----05 入社年月日.
--------10 入社年 PIC 9999.
--------10 入社月 PIC 99.
--------10 入社日 PIC 99.
こういうやつ。
01 従業員.
----05 従業員番号 PIC 9(7).
----05 従業員名 PIC X(30).
----05 入社年月日.
--------10 入社年 PIC 9999.
--------10 入社月 PIC 99.
--------10 入社日 PIC 99.
583デフォルトの名無しさん
2021/02/21(日) 09:35:10.61ID:VYudgr0a >>582
無論おk
無論おk
584デフォルトの名無しさん
2021/02/21(日) 14:28:26.05ID:/Mh4iWCM585デフォルトの名無しさん
2021/02/21(日) 14:31:13.67ID:UiySRn99 わざわざ分けなくても datatime で持てば良くない?
586デフォルトの名無しさん
2021/02/21(日) 14:36:40.26ID:9qukVfwV587デフォルトの名無しさん
2021/02/21(日) 16:54:13.00ID:3wKXGD51 >>582
プログラム内の表現として扱うという意味なら自分でクラスを定義するだけ
文字列、数値、日付みたいな型は標準であるけど「30文字以内の文字列」みたいな型はないので
従業員クラスに自分でバリデーションを追加するか独自の型を定義するか
COBOLで書き出した構造化ファイルのデータをPythonから扱えるかという意味なら
ファイルフォーマット次第だけど簡単には扱えない
CSVとかのテキストフォーマットに書き出したものをPythonで読み込むほうが桁違いに簡単
プログラム内の表現として扱うという意味なら自分でクラスを定義するだけ
文字列、数値、日付みたいな型は標準であるけど「30文字以内の文字列」みたいな型はないので
従業員クラスに自分でバリデーションを追加するか独自の型を定義するか
COBOLで書き出した構造化ファイルのデータをPythonから扱えるかという意味なら
ファイルフォーマット次第だけど簡単には扱えない
CSVとかのテキストフォーマットに書き出したものをPythonで読み込むほうが桁違いに簡単
588デフォルトの名無しさん
2021/02/22(月) 08:11:56.12ID:uJ/bSXez pythonのデバックでプログラムが何行目を通過したかて知る方法てあるの?
visual studio 2019を使っててF11でスッテプ実行てのが出来るんだけど、
1万行あったら1万行回F11叩くのか?てことになる。
visual studio 2019を使っててF11でスッテプ実行てのが出来るんだけど、
1万行あったら1万行回F11叩くのか?てことになる。
589デフォルトの名無しさん
2021/02/22(月) 08:34:50.69ID:ckzMPuES590デフォルトの名無しさん
2021/02/22(月) 10:21:35.37ID:5/ri8a+l >>588
ifの質問してるのと同じ人?
ifの質問してるのと同じ人?
591デフォルトの名無しさん
2021/02/22(月) 10:43:27.55ID:PW7vHVeo フレイクホイントを使ってテハックするのじゃ
592デフォルトの名無しさん
2021/02/22(月) 10:55:31.74ID:pI5eidjw 何行目を通過したか知りたいって考え方をするのはプログラムの構造に問題があるから
593デフォルトの名無しさん
2021/02/22(月) 11:05:19.36ID:RHKTrh3L pythonじゃなくても普通bp貼るだろ。
594デフォルトの名無しさん
2021/02/22(月) 13:28:34.74ID:zcTtu3Zr フレイクホイントが
フロントホックに見えてしまった(´・ω・`)
フロントホックに見えてしまった(´・ω・`)
595デフォルトの名無しさん
2021/02/22(月) 14:07:23.81ID:aMOGcJaK596デフォルトの名無しさん
2021/02/22(月) 14:07:41.17ID:aMOGcJaK ブレイクポイントかw
597デフォルトの名無しさん
2021/02/22(月) 14:37:49.37ID:tvUSsQ8P 3行のコードでも1万回ループしてたら
ステップオーバーを3万回叩かないと抜けられない
F11はステップインなのでどんどん潜る
ステップオーバーを3万回叩かないと抜けられない
F11はステップインなのでどんどん潜る
598デフォルトの名無しさん
2021/02/22(月) 14:45:11.64ID:Ag9nXfNi VBAしかやったことないニワカだから、同じ疑問をずっと持ってた
自分の書いたコードの動作を一つずつ確認するために1行ずつ実行することがよくあったんだけど
pythonだと、極端なこと言えば1行ごとにブレイクポイントを挟まないといけないってこと?
自分の書いたコードの動作を一つずつ確認するために1行ずつ実行することがよくあったんだけど
pythonだと、極端なこと言えば1行ごとにブレイクポイントを挟まないといけないってこと?
599デフォルトの名無しさん
2021/02/22(月) 14:59:58.20ID:DIDXVj1p 標準添付のデバッガ(PDB)やIDE(VSCodeなど)でも普通にできる。
600デフォルトの名無しさん
2021/02/22(月) 15:25:22.70ID:nmugGdcj >>598
んなわけない
んなわけない
601デフォルトの名無しさん
2021/02/22(月) 15:31:46.21ID:PGV0X2RH デバッガの使い方なんてどの言語でも一緒
ブレイクポイントの設定
ステップオーバー
ステップイン
ステップアウト
コンティニュー
この5つを理解すればいいだけ
プログラミング学習の初日に習う内容
ブレイクポイントの設定
ステップオーバー
ステップイン
ステップアウト
コンティニュー
この5つを理解すればいいだけ
プログラミング学習の初日に習う内容
602デフォルトの名無しさん
2021/02/22(月) 15:42:31.40ID:uJ/bSXez 新入社員でcobolやったときは最初から最後までトレースとったぞ。
人は意図的にバグを作り込むわけじゃないから、ストップポイント指定なんてナンセンス。
事前に指定しても、それ以外のところでエラーするのが当たり前。
事前にストップポイントやらブレイクポイントを指定なんて無駄だよ。
人は意図的にバグを作り込むわけじゃないから、ストップポイント指定なんてナンセンス。
事前に指定しても、それ以外のところでエラーするのが当たり前。
事前にストップポイントやらブレイクポイントを指定なんて無駄だよ。
603デフォルトの名無しさん
2021/02/22(月) 15:47:47.63ID:DIDXVj1p なんだろう。
COBOLだってプログラミング言語のはずなんだが、こうも考え方のピントがズレるもんかね。
COBOLだってプログラミング言語のはずなんだが、こうも考え方のピントがズレるもんかね。
604デフォルトの名無しさん
2021/02/22(月) 15:49:02.61ID:65ZJFDMb Python関係ないよね
デバッグのやり方教えて終わりでいいでしょ
デバッグのやり方教えて終わりでいいでしょ
605デフォルトの名無しさん
2021/02/22(月) 15:54:55.08ID:AYpKHnjf >>602
よく分からんけど普通デバッグって
・エラー出た個所とエラーメッセージを確認する
・エラー出た個所にブレイクポイント設定しつつ、関連して怪しそうな所にもブレイクポイントを再度動作させる
・後はデバッガで変数値とか確認しながら原因付き留める
動かす度に止まる場所が変わる、とかでもない限りこれで十分じゃね?
あと何行目を通過したか?っていう質問の時点で
トレースされたエラーメッセージ見てないのか?っていう気はしてるけど……
よく分からんけど普通デバッグって
・エラー出た個所とエラーメッセージを確認する
・エラー出た個所にブレイクポイント設定しつつ、関連して怪しそうな所にもブレイクポイントを再度動作させる
・後はデバッガで変数値とか確認しながら原因付き留める
動かす度に止まる場所が変わる、とかでもない限りこれで十分じゃね?
あと何行目を通過したか?っていう質問の時点で
トレースされたエラーメッセージ見てないのか?っていう気はしてるけど……
606デフォルトの名無しさん
2021/02/22(月) 15:55:51.44ID:Xis0SD1d >>603
COBOLはデータ処理のフローを小さなステップに分割して、そのステップ毎にプログラムを分割するのが普通で、
一つ一つのステップは構造化もクソもなくただ命令を平べったく羅列するだけ、というのが一般的
Pythonでいう数行から百行程度の関数一つ一つがCOBOLでは1000行くらいに膨れ上がって、それぞれが別個のプログラムになってるのを想像すれば、彼の気持ちを理解できるだろう
COBOLはデータ処理のフローを小さなステップに分割して、そのステップ毎にプログラムを分割するのが普通で、
一つ一つのステップは構造化もクソもなくただ命令を平べったく羅列するだけ、というのが一般的
Pythonでいう数行から百行程度の関数一つ一つがCOBOLでは1000行くらいに膨れ上がって、それぞれが別個のプログラムになってるのを想像すれば、彼の気持ちを理解できるだろう
607デフォルトの名無しさん
2021/02/22(月) 16:42:38.45ID:hC2BZM1+ COBOLだってデバッガの基本的な使い方はPythonと全く同じ
プログラム全体をステップ実行したいならエントリポイントにブレークポイント置いてステップ実行して行くだけ
学習目的以外では普通やらないけど
Pythonでもトレースはとれる
それも時間の無駄なのでまずやらない
プログラム全体をステップ実行したいならエントリポイントにブレークポイント置いてステップ実行して行くだけ
学習目的以外では普通やらないけど
Pythonでもトレースはとれる
それも時間の無駄なのでまずやらない
608デフォルトの名無しさん
2021/02/22(月) 17:14:24.97ID:ckzMPuES >>594
もるだーつかれてるネー
もるだーつかれてるネー
609デフォルトの名無しさん
2021/02/22(月) 17:15:37.44ID:ckzMPuES610デフォルトの名無しさん
2021/02/22(月) 18:24:34.17ID:KlgM0RdP COBOL奴か
611デフォルトの名無しさん
2021/02/22(月) 18:30:34.39ID:5xkEJHnL コボおじw
612デフォルトの名無しさん
2021/02/22(月) 21:53:28.96ID:G30bzgiW デバッグとかprint文挿入でいいんじゃ
613デフォルトの名無しさん
2021/02/22(月) 22:09:55.16ID:sB1O4QV3 手軽なテキストエディタでprint()利用のデバッグはあなどれない
614デフォルトの名無しさん
2021/02/22(月) 22:55:29.56ID:sQpMvYPW ある程度はprintデバッグで問題の発生する範囲を絞り込むよね。
データが20種10ループの処理を受けるときに200回とかステップ実行やってられないもの
データが20種10ループの処理を受けるときに200回とかステップ実行やってられないもの
615デフォルトの名無しさん
2021/02/22(月) 23:07:05.13ID:uJ/bSXez >>605
これはVS2019の問題かもしれんが、関数の中で止まると何行目で止まったか表示してくれない。
だからエラーが出た個所にブレイクポイントを設定することがまず大変。
F11で追わないとどこで止まったかわからない。
これはVS2019の問題かもしれんが、関数の中で止まると何行目で止まったか表示してくれない。
だからエラーが出た個所にブレイクポイントを設定することがまず大変。
F11で追わないとどこで止まったかわからない。
616デフォルトの名無しさん
2021/02/22(月) 23:08:26.38ID:UEjjQNjA エラーに行番号出てるでしょ
617デフォルトの名無しさん
2021/02/22(月) 23:20:25.34ID:uJ/bSXez >>616
関数を呼び出したところしか出てこない
関数を呼び出したところしか出てこない
618デフォルトの名無しさん
2021/02/23(火) 00:00:43.61ID:cTQNOv+R >>614
そういうのは条件付きのブレイクポイントを使う
そういうのは条件付きのブレイクポイントを使う
619デフォルトの名無しさん
2021/02/23(火) 00:03:58.11ID:cTQNOv+R620デフォルトの名無しさん
2021/02/23(火) 02:07:51.55ID:fia5nfNQ 関数の切り分けがそもそも糞なんだろ。
pythonでデバッガが必要なことなんてあんまりないぞ。cみたいなメモリがぶっ壊れるものならともかく。
pythonでデバッガが必要なことなんてあんまりないぞ。cみたいなメモリがぶっ壊れるものならともかく。
621デフォルトの名無しさん
2021/02/23(火) 06:54:54.23ID:VpyuW4/O git bisectの使い方は覚えとくと便利やぞ
622デフォルトの名無しさん
2021/02/23(火) 08:54:05.78ID:NUvCbrOs ハナから全部に、「今何行目」って表示出しとけw
623デフォルトの名無しさん
2021/02/23(火) 08:56:11.05ID:P6BTUA4m スレタイ嫁
624デフォルトの名無しさん
2021/02/23(火) 11:49:45.49ID:XvdT4dfh python最大の特徴はC言語やってても余り使わない__main__など特殊変数を大量に見かけることだ
この奥深さはperlを超えてるが見た目の分かり易さは当然pythonに軍配が上がる
この奥深さはperlを超えてるが見た目の分かり易さは当然pythonに軍配が上がる
625デフォルトの名無しさん
2021/02/23(火) 11:56:56.18ID:wfTpwfxG 清水の舞台から飛び降りるつもりでVS2019からpycharmに変えてみた。
pycharmてどこでエラーしたかわかるんだな。
VS2019はどこでエラーしたか不明な場合がたたある。
今までの苦労は何だったのだ?
pycharmてどこでエラーしたかわかるんだな。
VS2019はどこでエラーしたか不明な場合がたたある。
今までの苦労は何だったのだ?
626デフォルトの名無しさん
2021/02/23(火) 12:25:37.67ID:IRMSQgrY 修行
627デフォルトの名無しさん
2021/02/23(火) 12:33:34.02ID:eeQBUcpI >>624
perlを超えてはいないだろ。
perlを超えてはいないだろ。
628デフォルトの名無しさん
2021/02/23(火) 15:14:47.37 19日に公開された Python 3.9.2 および 3.8.8 で >>515 の脆弱性が塞がれたんですね
修正かくにん!
よかった
修正かくにん!
よかった
629デフォルトの名無しさん
2021/02/23(火) 15:51:15.44ID:UCRFxBi6 ThreadPoolExecuterを使って画面の表示を更新しているのですが、
5つくらいスレッドを並行していると処理が重くなってきます。
ThreadPoolExecuterで実行しているスレッド数で、更新の頻度を変えるにはどういう実装をしたら良いでしょうか。
ThreadPoolExecuterは実行中のスレッド数は見ることが出来なかったです。
5つくらいスレッドを並行していると処理が重くなってきます。
ThreadPoolExecuterで実行しているスレッド数で、更新の頻度を変えるにはどういう実装をしたら良いでしょうか。
ThreadPoolExecuterは実行中のスレッド数は見ることが出来なかったです。
630デフォルトの名無しさん
2021/02/23(火) 17:20:54.21ID:dRf/T0UJ max_workersオプションを5以下にすれば良いのでは
631デフォルトの名無しさん
2021/02/23(火) 17:35:39.23ID:UCRFxBi6 ありがとうございます、
ただ、画面更新とか裏での計算に使っているので、、それぞれが必要なスレッドなのです。。
ただ、画面更新とか裏での計算に使っているので、、それぞれが必要なスレッドなのです。。
632デフォルトの名無しさん
2021/02/23(火) 19:21:56.48ID:heAX5esq そうは言ってもCPUが足りてないのだろうから
重くなるのはどうしようもない
画面処理とかOSがCPUを使えるようにスレッド数を制限すれば
軽く感じる可能性はあるんじゃ
重くなるのはどうしようもない
画面処理とかOSがCPUを使えるようにスレッド数を制限すれば
軽く感じる可能性はあるんじゃ
633デフォルトの名無しさん
2021/02/23(火) 21:00:20.33ID:dRf/T0UJ スレッドじゃなくてプロセスにしちゃうとか
634デフォルトの名無しさん
2021/02/24(水) 02:16:24.82ID:CQQJwOCp パイチャームの方がいいの?
635デフォルトの名無しさん
2021/02/24(水) 07:05:02.19ID:LMkBx6gV pythonのエラー処理てどのページもtry-exceptを使えて書いてあるけど、
try節以外で発生したエラーはどうするの?
エラーは作り手がtryの中に入れなかったところ以外でも発生するものだよね?
pythonてtryの中以外では絶対にエラーが発生しないものなの?
エラーが発生したらここに飛べてできないの?
try節以外で発生したエラーはどうするの?
エラーは作り手がtryの中に入れなかったところ以外でも発生するものだよね?
pythonてtryの中以外では絶対にエラーが発生しないものなの?
エラーが発生したらここに飛べてできないの?
636デフォルトの名無しさん
2021/02/24(水) 07:16:58.73ID:DnTJTT30 最初から最後までtry-exceptの中に入れろ
637デフォルトの名無しさん
2021/02/24(水) 08:50:21.17ID:Aqfq6kO9 チャレンジ
638デフォルトの名無しさん
2021/02/24(水) 10:01:18.51ID:9y8r/1OE >>635
エラーがおきたらそれより先は進まずに、どこでどんなエラーが起きたか教えてくれるように出来てるので安心してください
エラーがおきたらそれより先は進まずに、どこでどんなエラーが起きたか教えてくれるように出来てるので安心してください
639デフォルトの名無しさん
2021/02/24(水) 10:14:31.53ID:a2nKO+B9 言語に関係ないプログラミングの基礎を理解してないにもかかわらず
「pythonでは〜できないの?」と毎日聞くやつは学習方法が間違ってると思うぞ
「pythonでは〜できないの?」と毎日聞くやつは学習方法が間違ってると思うぞ
640デフォルトの名無しさん
2021/02/24(水) 11:26:58.48ID:cfx9fHIS641デフォルトの名無しさん
2021/02/24(水) 11:31:22.80ID:SnbZdOj2 プログラミングの入門として使われることも多いpythonの、
それも超初心者用のスレで、それを言うのは野暮ではないかね
それも超初心者用のスレで、それを言うのは野暮ではないかね
642デフォルトの名無しさん
2021/02/24(水) 11:43:39.32ID:EH/DbHjP python以外の言語を習得しているかのような質問の仕方がダメなんだろ
基礎を理解してないということを理解してないのが問題
基礎を理解してないということを理解してないのが問題
643デフォルトの名無しさん
2021/02/24(水) 11:55:02.38ID:aiTBro5g644デフォルトの名無しさん
2021/02/24(水) 11:55:06.93ID:jCbAP6tB 初心者スレでそれ言ってもしょうがない
645デフォルトの名無しさん
2021/02/24(水) 12:24:45.37ID:clp8d1Sx コボおじは戻り値だけで判定してきたから例外が何かを知らないってことだよ
気持ちを汲んでやれ
気持ちを汲んでやれ
646デフォルトの名無しさん
2021/02/24(水) 12:30:33.09ID:CLu4HI+L Goおじ「・・・」
647デフォルトの名無しさん
2021/02/24(水) 13:07:22.50ID:LMkBx6gV >>643
いまseleniumでchromeを動かしてスクレイピングをするプログラムを作ってるんだが、
スクレイピングだからネットの状態によってはすべての箇所でエラーが発生する。
てことはすべての行をtry節に入れるてことになるの?
エラーが起きたらchromeを閉じて次のプログラムを走らせたいんだが、
エラーが起きて止まったら困る。
on errorみたいなやつがあれば助かるんだが。
いまseleniumでchromeを動かしてスクレイピングをするプログラムを作ってるんだが、
スクレイピングだからネットの状態によってはすべての箇所でエラーが発生する。
てことはすべての行をtry節に入れるてことになるの?
エラーが起きたらchromeを閉じて次のプログラムを走らせたいんだが、
エラーが起きて止まったら困る。
on errorみたいなやつがあれば助かるんだが。
648デフォルトの名無しさん
2021/02/24(水) 13:17:56.15ID:Xj3zAfy1649デフォルトの名無しさん
2021/02/24(水) 13:35:57.65ID:jCbAP6tB >>647
import スーパーすごいぼくのseleniumモジュール
try:
____スーパーすごいぼくのseleniumモジュールを実行
except 例外1:
____例外1の処理
except 例外2:
____例外1の処理
except:
____ほかの例外全部の処理
こんだけだよ
ちょっと頭かたすぎなんじゃねーかと
import スーパーすごいぼくのseleniumモジュール
try:
____スーパーすごいぼくのseleniumモジュールを実行
except 例外1:
____例外1の処理
except 例外2:
____例外1の処理
except:
____ほかの例外全部の処理
こんだけだよ
ちょっと頭かたすぎなんじゃねーかと
650デフォルトの名無しさん
2021/02/24(水) 14:04:57.70ID:2cGpZtVv651デフォルトの名無しさん
2021/02/24(水) 14:49:12.40ID:0d7ZIMo6 pythonの例外処理は
elseとfinallyが地味に便利だったりする
elseとfinallyが地味に便利だったりする
652デフォルトの名無しさん
2021/02/24(水) 14:57:15.43ID:7Ynmy8c9 finallyは他の言語でも見るけどelseは見たことないな
他の言語でも取り入れて欲しいわ
他の言語でも取り入れて欲しいわ
■ このスレッドは過去ログ倉庫に格納されています
