くだすれPython(超初心者用) その52【まず1嫁】at TECH
くだすれPython(超初心者用) その52【まず1嫁】 - 暇つぶし2ch511:デフォルトの名無しさん
21/02/14 19:11:28.97 MlHmhfGR.net
対人地雷に見えた
ある意味では間違いではないか

512:デフォルトの名無しさん
21/02/14 19:18:07.67 I1aFEzxm.net
>>506
むしろググってnkmkが上のほうにないときに絶望する
残ったゴミとカスからしゃーなしマシな記事をあさるしかない

513:デフォルトの名無しさん
21/02/14 19:55:19.81 5ILzfDiM.net
>>511
にんげんさまはアルクセキュリティホールやでぇ

514:デフォルトの名無しさん
21/02/14 20:52:11.02 k6Jk8aeh.net
#define sqr(a) (a*a)
sqr=lambda a:a*a

515:デフォルトの名無しさん
21/02/14 21:53:27.56 wJqWCA2o.net
>>513
アルクに謝れ!

516:デフォルトの名無しさん
21/02/14 23:49:31.85 .net
一週間ほど前にPython にバッファオーバーフローの脆弱性(CVE-2021-3177)が発表されましたが、パッチ同時リリースではありませんでした
その後、パッチは出たのでしょうか? この問題は解決済みですか?

517:デフォルトの名無しさん
21/02/15 00:24:39.78 bVZY0HXF.net
testDict = {"test1Key":"test1","test2Key":"test2","test1Key":"test1.5"}
こんな感じで、重複のkeyがある辞書から、重複要素をprintするにはどうしたら良いですか?

518:デフォルトの名無しさん
21/02/15 00:36:14.72 Jl6Y5s68.net
辞書はキーが重複することはありません

519:デフォルトの名無しさん
21/02/15 01:38:43.41 doIMb1ii.net
bound methodの中身を出力したいときってどうすればいいですか?

520:デフォルトの名無しさん
21/02/15 07:39:49.62 x4VL8oQa.net
>>515
わ、わるいのはM$IMEでっす!!!

521:デフォルトの名無しさん
21/02/15 11:32:59.59 HtPzSKw3.net
seleniumでchromedriverを使ってスクレイピングするとき、
長時間続けているとキャッシュが肥大化してきます
これをコードの中でクリアする方法はありますでしょうか?

522:デフォルトの名無しさん
21/02/15 11:55:43.22 LUOktb/o.net
別のスクリプトからsubprocessで間接的に起動しておいて、定期的に起動し直すとかかなあ

523:デフォルトの名無しさん
21/02/15 11:59:16.82 .net
どうしてもseleniumでというならドライバ再実行でどうにかなったと思うけど
windowも閉じてしまうからそれが嫌だっていうなら
素直にscrapy使ってスクレイピングするのがいいかも >>521

524:デフォルトの名無しさん
21/02/15 14:35:17.03 Jl6Y5s68.net
chrome://settings/clearBrowserDataを開いて操作する方法もあるみたいだけど今のchromeだとShadow DOM使っててめんどくさいから
options = webdriver.ChromeOptions
options.add_argument("--disk-cache-size=バイト数")
driver = webdriver.Chrome(chrome_options=options)
みたいにしてキャッシュサイズ制限かけるとか

525:520
21/02/15 17:14:22.91 HtPzSKw3.net
やっぱり起動しなおすしかない感じですね
optionsでキャッシュサイズの指定は試してみたんですけど、効果ナシでした
例えば数十分おきとかでドライバ再実行する仕組みで試してみようかな
scrapy、初耳だったので調べてみましたがちょっと難しそうでした
少し勉強してみます

526:デフォルトの名無しさん
21/02/15 18:33:57.06 rGrJfJAw.net
こういうの
URLリンク(intoli.com)

527:デフォルトの名無しさん
21/02/16 14:05:18.83 ipEDtskL.net
Atomでコンソールから実行していて、無限ループになったりしてタスクマネージャで強制終了頻繁にしてるのですが、
見えないプロセスが残ったり、メモリーが変に残ったりすることはあるのでしょうか?

528:デフォルトの名無しさん
21/02/16 17:21:05.75 tjl7Fm3+.net
マルチスレッドとか使ってて全てのプロセスが殺せてないとか

529:デフォルトの名無しさん
21/02/16 17:49:43.59 .net
Atom はプラグインのインストールに失敗する度に、そのNodeプロセスがゾンビ化する不具合があるゴミなのでVSCodeを使いましょう

530:デフォルトの名無しさん
21/02/17 03:51:59.84 zEY0Zwgw.net
10万馬力も電気使っちゃうの?

531:デフォルトの名無しさん
21/02/17 22:17:14.64 d05tkeIJ.net
matplotでグラフタイトルを下部に表示したいです。
plt.title('x-latency graph', fontname='Times New Roman', y=-0.15)
とy設定をすることで一応下部に表示はされるのですが、
ウインドの大きさによってxラベルと重なってしまい、
上部に表示したときのようにきれいにはいきません。
なにかうまい方法ないでしょうか?

532:デフォルトの名無しさん
21/02/17 22:37:46.06 ywbkeJkd.net
pad=20みたいなのを追加してみるとか

533:デフォルトの名無しさん
21/02/17 22:42:46.98 ywbkeJkd.net
下ならpad=-10みたいにマイナスか

534:デフォルトの名無しさん
21/02/17 22:57:13.47 d05tkeIJ.net
pad試してみたのですが、ウインドウ小さくするとそうそうにXラベルと重なってしまいますね。
デフォルトの上部にしているとウインドウ小さくしても重ならないのですが、
こんなものなのでしょうか・・・。
でも、論文って下にタイトルって指定されるのに、なんでデフォルトが上になっているんだろう・・。

535:デフォルトの名無しさん
21/02/17 22:59:25.13 ywbkeJkd.net
plt.tight_layout()なら?

536:デフォルトの名無しさん
21/02/17 23:01:50.01 ywbkeJkd.net
論文の図のキャプションは図をレイアウトした先で図の外側に作るものでグラフの中には作らないから、余り気にしたことないな

537:デフォルトの名無しさん
21/02/17 23:09:20.61 d05tkeIJ.net
>>535
ありがとうございます。
さっきまでよりはだいぶ見やすくなりました。
でも、やっぱりウインドウ小さくすると破綻するのは上部より下部の方が早いですね。
上部にしといて、タイトルは割り切って別で入れるようにしたほうがいいのかな。

538:デフォルトの名無しさん
21/02/17 23:10:30.71 d05tkeIJ.net
実用上それで問題ないんですけど、
論文で下って教育されてると、上部タイトルがきてるといけないことをしているかのような強迫観念が・・・

539:デフォルトの名無しさん
21/02/18 00:09:43.11 IAd8iDhz.net
そこまでこだわりがあるならsubplotで2段にして下のプロット軸とか背景を不可視にしてタイトルを下のプロットのタイトルとして描く関数を作っとくとか

540:デフォルトの名無しさん
21/02/18 10:25:28.59 64/LOwh9.net
>>531
URLリンク(qiita.com)
URLリンク(qiita.com)
URLリンク(qiita.com)
URLリンク(qiita.com)
URLリンク(qiita.com)

541:デフォルトの名無しさん
21/02/18 18:54:08.48 wTfx2HE+.net
> お前は毎朝起きるたびに俺に負けたことを思い出すよ^^
あー、ホンッとに思い出すなあ(笑)
キチガイの嘘つきの低レベルFランの、
朝鮮ゴキブリBot君は、
チョン独特の「なにもできないけど俺のほうがジャップより偉い!」的な ことはよーくわかったよ。 ホントなにもできない朝鮮ゴキブリBot君!
クソチョンw
Pythonさえろくにできないバカチョンのくせに
できるとほざくクソチョンw
日本で強姦と窃盗を繰り返す
犯罪者在日のクソチョンw

542:デフォルトの名無しさん
21/02/18 21:54:32.87 cqSbk4Yx.net
等差数列的な1次元行列で転置を行いたい
(1)
a = np.array([[i for i in range(2, 5, 1)]])
a.T
(2)a.T表記ではない(and ディープコピーではない)
a = np.arange(2,5,1)
a.shape = (1,3)
(3)ワンクッション多い
a = np.arange(2,5,1)
a.shape = (3,1)
a.T
(4)
a = np.array([np.arange(2,5,1)])
a.T

(本音)
a = np.arange(2,5,1).T

543:デフォルトの名無しさん
21/02/18 22:14:50.29 f56ThaA4.net
np使わないとまともに配列扱えない欠陥言語だから仕方ない。

544:デフォルトの名無しさん
21/02/18 22:38:10.75 vU7qRJsP.net
はやくjuliaが主流になるといいよね

545:デフォルトの名無しさん
21/02/18 22:48:59.15 bEmrZ2Tw.net
542認定言語
julia
r
以下欠陥言語。使ってる奴も三流
python
c++
java
c#
rust
swift
js

546:デフォルトの名無しさん
21/02/18 23:16:09.86 vQ0bM4Ab.net
>>542
reshape

547:デフォルトの名無しさん
21/02/18 23:58:49.68 cqSbk4Yx.net
>>546
reshapeという文字自体が長いというのはあるけど、まさにこれって感じのやつだった㌧

548:デフォルトの名無しさん
21/02/19 01:03:54.01 byh433rL.net
juliaはたしかに良言語だと思う
使ったこと無いけど

549:デフォルトの名無しさん
21/02/19 02:56:37.19 h/t0+GoU.net
言語には二種類ある(ry

550:デフォルトの名無しさん
21/02/19 05:34:23.41 473cJTkx.net
lispみたいなガイジが好むけど実用されない言語と
pythonみたいな実用されるけどガイジから非難される言語だ

551:デフォルトの名無しさん
21/02/19 07:19:35.87 dkFXvWzJ.net
>>545
配列っていうか、行列だな。
Mコード(MATLAB)やFORTRANも行列扱えるよ。
確かにnp面倒くさい。

552:デフォルトの名無しさん
21/02/19 07:19:58.87 ho6TCH2V.net
行列使うならMATLAB系
numpyじゃあ全く代わりにならんしうんざりする
計算だけで済む話にpython使うのはアホらしい

553:デフォルトの名無しさん
21/02/19 19:22:35.73 UVFRc2z2.net
if 条件A:
真ならなんか処理して(if文グループの終わり)に行く
if 条件B:
真ならなんか処理して(if文グループの終わり)に行く
if 条件C:
真ならなんか処理して(if文グループの終わり)に行く
(if文グループの終わり)
ていうようなことをしたい。
elseで次のifを書いていくとインデントがどんどん右に行くんだがなんかいい方法ない?
考えたのはfor文の中にいれて真ならbreakてやったんだが、普通はどうかくの?

554:デフォルトの名無しさん
21/02/19 19:26:56.94 8rw3YsL8.net
>>553
elif

555:デフォルトの名無しさん
21/02/19 21:00:13.10 UVFRc2z2.net
>>554
レスサンクス。
if文の前に前処理があるやつだとどうする?
(if文グループの始まり
条件Aの前処理
if 条件A:
真ならなんか処理して(if文グループの終わり)に行く
条件Bの前処理
if 条件B:
真ならなんか処理して(if文グループの終わり)に行く
条件Cの前処理
if 条件C:
真ならなんか処理して(if文グループの終わり)に行く
(if文グループの終わり)
goto文でできるが、gotoてどの言語でも推奨じゃないよね?
なんかif文グループの入れ子を作って、入れ子を抜けるようなことてforでやるしかない?

556:デフォルトの名無しさん
21/02/19 21:19:47.88 yv2d5Olu.net
インデントがわからないからはっきり分からないが
並列なifなら関数化してearly return

557:デフォルトの名無しさん
21/02/19 21:24:45.22 dkFXvWzJ.net
>>555
何もないコードブロックって作れないよね?
無理やりifでコードブロックにして
if True:
  前処理A
  if 条件A:
    処理A
    break
  前処理B
  if 条件B
とかやれば出来なくもない。

558:デフォルトの名無しさん
21/02/19 21:27:13.31 yv2d5Olu.net
breakできるのはloop内だけじゃないかな

559:デフォルトの名無しさん
21/02/19 21:28:47.87 8rw3YsL8.net
>>555
while True:で始めてbreakで抜けるのが良いだろうけど、
本質的には処理はネストしてる(前処理Cは前処理A,Bを前提としている)ことを考えると、
if文をネストさせるかもしれないな。
それか前処理がエラーチェックだったらdefで切り出してreturnするか。
Cでリソース解放を必ずしたい場合とかはgoto使うこともあるけど、定石はないというか、ケースバイケースでif文使ったりgoto使ったりしてるな。
try/catchとかも制限付きgotoみたいなものだから、濫用しなければgoto使ってもいいと思うけどね。

560:デフォルトの名無しさん
21/02/19 21:29:07.83 dkFXvWzJ.net
>>558
for i in range(1):
とかしないとだめ?

561:デフォルトの名無しさん
21/02/19 21:44:37.71 fFbWPHDZ.net
if func1:
if func2:
if func3:
if func4:

562:デフォルトの名無しさん
21/02/19 22:06:38.25 yv2d5Olu.net
↓これでよくない?
def if_group():
__条件Aの前処理
__if 条件A:
____do_somethingA()
____return
__条件Bの前処理
__if 条件B:
____do_somethingB()
____return
__条件Cの前処理
__if 条件C:
____do_somethingC()
____return

563:デフォルトの名無しさん
21/02/20 00:02:39.45 /remXlTv.net
if_group() 呼ばないと。

564:デフォルトの名無しさん
21/02/20 00:22:00.93 N/y0hS3O.net
即席で関数定義する方がセンスよさげだが自分なら完了済みフラグ設けて済ませたな

565:デフォルトの名無しさん
21/02/20 00:49:34.69 1Y17sdX3.net
こういうんじゃあかんのけ?
a = 4
if (lambda: [print("hello"), print("world")])() and a == 3:
__print("foobar")
elif (lambda: [print("kon"), print("nichiwa")])() and a == 4:
__print("hogefuga")

566:デフォルトの名無しさん
21/02/20 02:07:34.86 nciJ6+jd.net
>>560
552だけどオレが思いついたのはその方法。
この手の処理て模範解答的にはどうやってやるんだろう?
フラグ立ててフラグが真じゃなければ次のifブロックに行かないとかやってたけど。
関数にするとコードが見にくくなるし、一回しか通らない処理を関数にするのも無駄なような。
オレが新入社員のときにやったCOBOLもどきのIDL2にはblock文てのはあって一回だけ実行するfor文みたいなものがあった。

567:デフォルトの名無しさん
21/02/20 02:40:31.51 56yjs2OO.net
>>565
コードから意図が全く読めんからあかん

568:デフォルトの名無しさん
21/02/20 08:48:49.94 Y+RPXUXT.net
自分なら>>562にするな
アーリーリターン

569:デフォルトの名無しさん
21/02/20 08:49:50.45 /remXlTv.net
>>566
前処理とifがあるなら関数にまとめてもいいかも。
def processA():
  前処理A
  if 条件A:
    処理A
:
processA()
processB()
processC()
せっかくgoto追加してくれたんだから使えばいいか。

570:デフォルトの名無しさん
21/02/20 09:25:41.17 Y+RPXUXT.net
>>555のいう前処理がわからんけど
それぞれでif文書いて、条件に早めにFalse返す関数使えば、別にネストもする必要ないじゃん
前処理って何やってんだよ
どうしても各分岐の前にがっつり処理しないとだめなんか?

571:デフォルトの名無しさん
21/02/20 12:42:23.67 lyTdLi7+.net
>>570
コードを晒すとこういうことをやってる。
これだと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が真だったらここに飛びたい。

572:デフォルトの名無しさん
21/02/20 12:57:26.42 AfgxbbrB.net
最初から変数3つ並べてif-elseでいいじゃん

573:デフォルトの名無しさん
21/02/20 12:58:54.20 QmInm3o3.net
同時成立でも問題なさそうだけど。

574:デフォルトの名無しさん
21/02/20 13:14:35.97 QO6ABfSl.net
インデントが2つだったり、3つだったりばらばらで作ってしまったんですけど、コレを自動で整形する方法ってありますか??

575:デフォルトの名無しさん
21/02/20 13:28:03.26 EQ4Fmj1U.net
>>574
ある程度の行数をまとめて選択して置いて「インデントをひとつ浅くする」なら
けっこう色んなエディタでできるとおもうんだが
虎刈りになってるならあきらめろん

576:デフォルトの名無しさん
21/02/20 14:29:20.46 56yjs2OO.net
>>574
autopep8かblackで自動整形できるよ

577:デフォルトの名無しさん
21/02/20 14:32:57.68 TBTHb+Gp.net
black使ってるけど1行あたりの文字数だけは弄って150にしてるわ
デフォだとキツすぎディスプレイ縦置き専用かよと

578:デフォルトの名無しさん
21/02/20 18:32:17.48 56yjs2OO.net
>>571
“ifグループ”と呼んでるものに名前をつけて関数化するほうがベターだと思うけどif-elseでも書けるよ

579:デフォルトの名無しさん
21/02/21 00:57:40.63 aCzr4+Gv.net
君たち>>571みたとたん明らかにやる気なくしてるよね

580:デフォルトの名無しさん
21/02/21 01:09:16.38 f0EcfH0m.net
if len(o_btn := driver.find...) > 0:
elif ...
3.8以上限定

581:デフォルトの名無しさん
21/02/21 02:40:07.07 G4m9GHw4.net
blackはやりすぎだなと思うことあるわ。
コードを見やすくするためのコードフォーマットなのに逆に見辛くなるとか本末転倒すぎる。

582:デフォルトの名無しさん
21/02/21 03:56:32.45 XsukC5HX.net
そうだよなblack lives matterはやりすぎニガーは調子に乗るな!

583:デフォルトの名無しさん
21/02/21 08:27:14.13 YmTCK60y.net
構造体データて扱えるの?
こういうやつ。
01 従業員.
----05 従業員番号 PIC 9(7).
----05 従業員名 PIC X(30).
----05 入社年月日.
--------10 入社年 PIC 9999.
--------10 入社月 PIC 99.
--------10 入社日 PIC 99.

584:デフォルトの名無しさん
21/02/21 09:35:10.61 VYudgr0a.net
>>583
無論おk

585:デフォルトの名無しさん
21/02/21 14:28:26.05 /Mh4iWCM.net
>>583
年月日に20210221突っ込んで
年で2021だけ取り出すには工夫がいるかな

586:デフォルトの名無しさん
21/02/21 14:31:13.67 UiySRn99.net
わざわざ分けなくても datatime で持てば良くない?

587:デフォルトの名無しさん
21/02/21 14:36:40.26 9qukVfwV.net
>>583
COBOLの知識は完全に全て忘れろ。今すぐに。
Pythonでは固定長レコードは一切使わない。CSVやJSONのような可変長データを使う。

588:デフォルトの名無しさん
21/02/21 16:54:13.00 3wKXGD51.net
>>583
プログラム内の表現として扱うという意味なら自分でクラスを定義するだけ
文字列、数値、日付みたいな型は標準であるけど「30文字以内の文字列」みたいな型はないので
従業員クラスに自分でバリデーションを追加するか独自の型を定義するか
COBOLで書き出した構造化ファイルのデータをPythonから扱えるかという意味なら
ファイルフォーマット次第だけど簡単には扱えない
CSVとかのテキストフォーマットに書き出したものをPythonで読み込むほうが桁違いに簡単

589:デフォルトの名無しさん
21/02/22 08:11:56.12 uJ/bSXez.net
pythonのデバックでプログラムが何行目を通過したかて知る方法てあるの?
visual studio 2019を使っててF11でスッテプ実行てのが出来るんだけど、
1万行あったら1万行回F11叩くのか?てことになる。

590:デフォルトの名無しさん
21/02/22 08:34:50.69 ckzMPuES.net
>>589
F11連打しかしないとそうなるな
取説嫁

591:デフォルトの名無しさん
21/02/22 10:21:35.37 5/ri8a+l.net
>>589
ifの質問してるのと同じ人?

592:デフォルトの名無しさん
21/02/22 10:43:27.55 PW7vHVeo.net
フレイクホイントを使ってテハックするのじゃ

593:デフォルトの名無しさん
21/02/22 10:55:31.74 pI5eidjw.net
何行目を通過したか知りたいって考え方をするのはプログラムの構造に問題があるから

594:デフォルトの名無しさん
21/02/22 11:05:19.36 RHKTrh3L.net
pythonじゃなくても普通bp貼るだろ。

595:デフォルトの名無しさん
21/02/22 13:28:34.74 zcTtu3Zr.net
フレイクホイントが
フロントホックに見えてしまった(´・ω・`)

596:デフォルトの名無しさん
21/02/22 14:07:23.81 aMOGcJaK.net
>>589
ストップポイント指定するんだよ
んで次のステップポイントに飛ぶってのがある

597:デフォルトの名無しさん
21/02/22 14:07:41.17 aMOGcJaK.net
ブレイクポイントかw

598:デフォルトの名無しさん
21/02/22 14:37:49.37 tvUSsQ8P.net
3行のコードでも1万回ループしてたら
ステップオーバーを3万回叩かないと抜けられない
F11はステップインなのでどんどん潜る

599:デフォルトの名無しさん
21/02/22 14:45:11.64 Ag9nXfNi.net
VBAしかやったことないニワカだから、同じ疑問をずっと持ってた
自分の書いたコードの動作を一つずつ確認するために1行ずつ実行することがよくあったんだけど
pythonだと、極端なこと言えば1行ごとにブレイクポイントを挟まないといけないってこと?

600:デフォルトの名無しさん
21/02/22 14:59:58.20 DIDXVj1p.net
標準添付のデバッガ(PDB)やIDE(VSCodeなど)でも普通にできる。

601:デフォルトの名無しさん
21/02/22 15:25:22.70 nmugGdcj.net
>>599
んなわけない

602:デフォルトの名無しさん
21/02/22 15:31:46.21 PGV0X2RH.net
デバッガの使い方なんてどの言語でも一緒
ブレイクポイントの設定
ステップオーバー
ステップイン
ステップアウト
コンティニュー
この5つを理解すればいいだけ
プログラミング学習の初日に習う内容

603:デフォルトの名無しさん
21/02/22 15:42:31.40 uJ/bSXez.net
新入社員でcobolやったときは最初から最後までトレースとったぞ。
人は意図的にバグを作り込むわけじゃないから、ストップポイント指定なんてナンセンス。
事前に指定しても、それ以外のところでエラーするのが当たり前。
事前にストップポイントやらブレイクポイントを指定なんて無駄だよ。

604:デフォルトの名無しさん
21/02/22 15:47:47.63 DIDXVj1p.net
なんだろう。
COBOLだってプログラミング言語のはずなんだが、こうも考え方のピントがズレるもんかね。

605:デフォルトの名無しさん
21/02/22 15:49:02.61 65ZJFDMb.net
Python関係ないよね
デバッグのやり方教えて終わりでいいでしょ

606:デフォルトの名無しさん
21/02/22 15:54:55.08 AYpKHnjf.net
>>603
よく分からんけど普通デバッグって
・エラー出た個所とエラーメッセージを確認する
・エラー出た個所にブレイクポイント設定しつつ、関連して怪しそうな所にもブレイクポイントを再度動作させる
・後はデバッガで変数値とか確認しながら原因付き留める
動かす度に止まる場所が変わる、とかでもない限りこれで十分じゃね?
あと何行目を通過したか?っていう質問の時点で
トレースされたエラーメッセージ見てないのか?っていう気はしてるけど……

607:デフォルトの名無しさん
21/02/22 15:55:51.44 Xis0SD1d.net
>>604
COBOLはデータ処理のフローを小さなステップに分割して、そのステップ毎にプログラムを分割するのが普通で、
一つ一つのステップは構造化もクソもなくただ命令を平べったく羅列するだけ、というのが一般的
Pythonでいう数行から百行程度の関数一つ一つがCOBOLでは1000行くらいに膨れ上がって、それぞれが別個のプログラムになってるのを想像すれば、彼の気持ちを理解できるだろう

608:デフォルトの名無しさん
21/02/22 16:42:38.45 hC2BZM1+.net
COBOLだってデバッガの基本的な使い方はPythonと全く同じ
プログラム全体をステップ実行したいならエントリポイントにブレークポイント置いてステップ実行して行くだけ
学習目的以外では普通やらないけど
Pythonでもトレースはとれる
それも時間の無駄なのでまずやらない

609:デフォルトの名無しさん
21/02/22 17:14:24.97 ckzMPuES.net
>>595
もるだーつかれてるネー

610:デフォルトの名無しさん
21/02/22 17:15:37.44 ckzMPuES.net
>>602
それプログラミング基礎ちゃう
デバッグ基礎や
>>604
コボルドって基本犬頭だからね

611:デフォルトの名無しさん
21/02/22 18:24:34.17 KlgM0RdP.net
COBOL奴か

612:デフォルトの名無しさん
21/02/22 18:30:34.39 5xkEJHnL.net
コボおじw

613:デフォルトの名無しさん
21/02/22 21:53:28.96 G30bzgiW.net
デバッグとかprint文挿入でいいんじゃ

614:デフォルトの名無しさん
21/02/22 22:09:55.16 sB1O4QV3.net
手軽なテキストエディタでprint()利用のデバッグはあなどれない

615:デフォルトの名無しさん
21/02/22 22:55:29.56 sQpMvYPW.net
ある程度はprintデバッグで問題の発生する範囲を絞り込むよね。
データが20種10ループの処理を受けるときに200回とかステップ実行やってられないもの

616:デフォルトの名無しさん
21/02/22 23:07:05.13 uJ/bSXez.net
>>606
これはVS2019の問題かもしれんが、関数の中で止まると何行目で止まったか表示してくれない。
だからエラーが出た個所にブレイクポイントを設定することがまず大変。
F11で追わないとどこで止まったかわからない。

617:デフォルトの名無しさん
21/02/22 23:08:26.38 UEjjQNjA.net
エラーに行番号出てるでしょ

618:デフォルトの名無しさん
21/02/22 23:20:25.34 uJ/bSXez.net
>>617
関数を呼び出したところしか出てこない

619:デフォルトの名無しさん
21/02/23 00:00:43.61 cTQNOv+R.net
>>615
そういうのは条件付きのブレイクポイントを使う

620:デフォルトの名無しさん
21/02/23 00:03:58.11 cTQNOv+R.net
>>618
VS使わずコマンドラインから実行してエラーメッセージを確認
VS2019の問題だと思うならまず切り分けすべき

621:デフォルトの名無しさん
21/02/23 02:07:51.55 fia5nfNQ.net
関数の切り分けがそもそも糞なんだろ。
pythonでデバッガが必要なことなんてあんまりないぞ。cみたいなメモリがぶっ壊れるものならともかく。

622:デフォルトの名無しさん
21/02/23 06:54:54.23 VpyuW4/O.net
git bisectの使い方は覚えとくと便利やぞ

623:デフォルトの名無しさん
21/02/23 08:54:05.78 NUvCbrOs.net
ハナから全部に、「今何行目」って表示出しとけw

624:デフォルトの名無しさん
21/02/23 08:56:11.05 P6BTUA4m.net
スレタイ嫁

625:デフォルトの名無しさん
21/02/23 11:49:45.49 XvdT4dfh.net
python最大の特徴はC言語やってても余り使わない__main__など特殊変数を大量に見かけることだ
この奥深さはperlを超えてるが見た目の分かり易さは当然pythonに軍配が上がる

626:デフォルトの名無しさん
21/02/23 11:56:56.18 wfTpwfxG.net
清水の舞台から飛び降りるつもりでVS2019からpycharmに変えてみた。
pycharmてどこでエラーしたかわかるんだな。
VS2019はどこでエラーしたか不明な場合がたたある。
今までの苦労は何だったのだ?

627:デフォルトの名無しさん
21/02/23 12:25:37.67 IRMSQgrY.net
修行

628:デフォルトの名無しさん
21/02/23 12:33:34.02 eeQBUcpI.net
>>625
perlを超えてはいないだろ。


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch