Pythonのお勉強 Part73

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ f610-G7il)
垢版 |
2024/06/06(木) 08:48:10.07ID:DsazphEm0
!extend:default:vvvvv:1000:1024
!extend:default:vvvvv:1000:1024
↑スレ立てる毎に減るので、減ってたら3つに補充すること。

・当スレにRubyのソースコード類を書くことを禁ず
・Ruby等、Pythonではないプログラミング言語での回答類・質問を書くのも禁止
・「Ruby では」「Rubyでは」「Rails」正規表現→「^クソチョンw$」をNGワード登録推奨
・エラーを解決したいときは、かならず
エラー文(勝手に省略orスクショうp等の横着禁止)と
おま環(Pythonのバージョン番号+OS名とバージョン+IDE名)を書け。

※前スレ
Pythonのお勉強 Part72
https://mevius.5ch.net/test/read.cgi/tech/1703659345/
VIPQ2_EXTDAT: default:vvvvv:1000:512:: EXT was configured
2024/08/02(金) 23:28:26.64ID:qIJJIjRw0
1と7を両方書いちゃうと負け
range(1, 1+num)
が正解
2024/08/02(金) 23:30:13.24ID:qIJJIjRw0
7月分のデータを集計しようとして、
7/1から7/31までを指定したら負け
7/1から8/1の前まで、が正解
2024/08/02(金) 23:33:35.55ID:H4ME9sKD0
油断すると負けてしまう
2024/08/02(金) 23:38:37.16ID:qIJJIjRw0
メモリマップとかで、
0000
なんとか領域
0fff
1000
みたいに書いてあるのは存在自体が負け
先頭と末尾を両方書いてたらまず負けてる
2024/08/03(土) 07:07:54.34ID:q/25yG1G0
締め切りは8/3の23時59分です
とかも、0秒? 59秒? msecは? と無限にツッコミどころが湧いてくる

最初の条件成立から、条件成立しなくなるまで
という「半開区間」が正義
2024/08/03(土) 16:36:13.18ID:8ODDC/y50
初心者の学習としてJupyter Notebookって必要??
覚えてた方がええんか?
2024/08/03(土) 18:57:48.50ID:QkdwgqIr0
必要かと聞かれたらいいえ
ただ素の状態だとコンソール出力かファイル加工がやっとだから
簡単にグラフや画像出力、デバッグもできるJupyterのがストレス少ない
2024/08/03(土) 19:56:20.21ID:UOf7wP980
ええ
2024/08/03(土) 20:25:15.56ID:sC3b/dtf0
jupterって勉強するもん?
2024/08/03(土) 20:39:36.46ID:q/25yG1G0
jupyterだとpandasの出力がテキストでなくて表になるのは、
pandasがよく出来てるのかjupyterが賢いのかどっち?
2024/08/03(土) 21:24:11.44ID:8ODDC/y50
>>347
なるほど?
グラフの出力とかはジュピターの方が楽なのね
2024/08/04(日) 17:38:20.78ID:65IaeFum0
グラフの出力自体は素のPythonでも変わらん
しかしグラフというのは一度出したら終わりではなく、一般には望ましい結果が得られるまでデータを加工したり設定を変えたりして試行錯誤するものだ
Jupyterを使うことで、そういった試行錯誤を効率的に行うことができる
逆に言うと、既に試行錯誤の段階が完了していて、データだけを変えて繰り返しグラフ出力を実行するような場合は、Jupyterを使うより素のPythonを使ったほうが効率的かもしれない
まあ現実には最初Jupyterで作ったらそのままJupyterで画像ファイルに出力させることが多いけどね
2024/08/04(日) 17:39:08.92ID:1hDKZBW40
ごちゃごちゃ言ってないでさっさと書けやw
2024/08/04(日) 17:46:12.24ID:b8kSAT/10
>>352
とりあえずVScodeにJupyterの拡張入れてみたわ

便利やな
一つのファイル内で別のプログラムを試すときに視覚的にわかりやすいから、参考書みて試しながらやるならこっちのほうがええな
2024/08/04(日) 17:46:19.65ID:GeMr6Szw0
jupyterの出力は簡易的なものだろ
ちゃんとしたグラフはMatplotlibで作る
あるいは最初からRを使う
356デフォルトの名無しさん (ワッチョイ eb8e-AHtZ)
垢版 |
2024/08/04(日) 18:39:45.11ID:MUsI65Xv0
>>355
馬鹿はコメントするなよ
2024/08/04(日) 18:58:23.72ID:riZP8C210
初心者止まりでいいなら寧ろjupyterでやった方がいいくらい、嫌味でなく
2024/08/04(日) 19:07:06.24ID:GeMr6Szw0
簡単にグラフ作るならexcelがいい
たまにexcelのグラフで本出してる人もいるくらい
359デフォルトの名無しさん (ワッチョイ eb8e-AHtZ)
垢版 |
2024/08/04(日) 19:54:21.84ID:MUsI65Xv0
>>358
だから、馬鹿はコメントするなよ
2024/08/04(日) 20:16:40.90ID:b8kSAT/10
ワイはいずれはスクレイピングとかして機械学習とか使って株価予想ソフトを作りたい
まずはJupyterで変数とか基礎文法を学ぶで!
2024/08/04(日) 20:33:50.44ID:TJUdSfKf0
ミュータブルはなんのメリットがあるんだろ
デフォルトがdeepcopyで
やりたいときだけリファレンスデリファレンスすればいいとか思うんだが
2024/08/04(日) 20:46:27.29ID:B5K23Knn0
py.トーチは結構簡単
2024/08/04(日) 20:48:42.72ID:65IaeFum0
Jupyter以外だとStreamlitも凄いよね
QtとかでシコシコGUI作ってる中級者を尻目に美麗でインタラクティブなクールなアプリをクソ簡単に作ることができる
2024/08/04(日) 21:30:49.60ID:b8kSAT/10
Pythonって変数の型を定義しないでいいの楽ちんだな
365デフォルトの名無しさん (ワッチョイ 0132-xNjE)
垢版 |
2024/08/05(月) 14:04:53.48ID:BduEjBaz0
>>355
マジレスするとmatplotlibなどの結果をjupyterだとすぐにブラウザでインラインで確認できるってことな
画像を保存するのと本質的に何の違いもないよ
Rとかなんのこっちゃ。グラフを描くだけのためにRを使うことはない。元々Rにしかないパッケージが必要でRで処理しているならともかく、的外れすぎる
>>358
Excelのグラフが簡単なのはかなり限られたユースケースだと思うけどな。
ヒストグラムもめんどくさいし、複数のグラフを同じ体裁でとかも簡単じゃないし。
あくまでテンプレートにある形で全自動でデータ領域選んだら出てくればいいときだけぐらいじゃね?
そして手間は全自動matplotlibも大差ないし
366デフォルトの名無しさん (ワッチョイ 5360-CchU)
垢版 |
2024/08/05(月) 14:59:08.85ID:UvaKmykX0
そもそも仕事ではブラフを作ることはそんなにない
367デフォルトの名無しさん (ワッチョイ 5165-xNjE)
垢版 |
2024/08/05(月) 15:50:58.57ID:G00WydoT0
>>366
そんなんめっちゃ仕事によるから
webアプリとかwebシステムとかにしか使われない言語ってわけでもないし
確かに専業プログラマ時代はグラフなんかほとんど作らなかったけど
2024/08/05(月) 16:44:17.26ID:dN8R1ALp0
グラフじゃなくてブラフの話だぞ
2024/08/05(月) 16:52:27.14ID:DFvgfJhZ0
ブラフw
370デフォルトの名無しさん (ワッチョイ b3ee-eg/E)
垢版 |
2024/08/05(月) 19:31:45.20ID:8ZGl3ILU0
なあ、初心者質問で申し訳ないがPythonって処理速度遅いらしいやん?
そんなに他と体感的に感じるもんなん?
371デフォルトの名無しさん (ワイーワ2 FFa3-2913)
垢版 |
2024/08/05(月) 19:42:50.14ID:EUzl0HTCF
>>370
速いとか遅いとか言っている人間とは縁を切れ
372デフォルトの名無しさん (ワイーワ2 FFa3-2913)
垢版 |
2024/08/05(月) 19:43:32.98ID:EUzl0HTCF
>>370
実際に時間がかかるものを作って比較するしかない
373デフォルトの名無しさん (ワッチョイ 992a-DL1l)
垢版 |
2024/08/05(月) 19:53:32.99ID:myHOasGP0
>>370
> 他

が何かによるんじゃないか。
2024/08/05(月) 19:58:12.02ID:DFvgfJhZ0
>>370
確実に言えるのは初心者が気にすることではない
375デフォルトの名無しさん (ワッチョイ b3ee-eg/E)
垢版 |
2024/08/05(月) 20:21:32.67ID:8ZGl3ILU0
>>371-374
なんだ、そんなに体感するほどでないんだ
ネトゲのフレンドにPython勉強してるっていったら「あーPythonは簡単だけど処理速度が遅いからね」って言ってたから不安になった
2024/08/05(月) 20:31:36.33ID:Yc9kthAg0
0.01秒で終わっても1秒で終わっても人間からすれば同じだしな
他でなら1時間で済むものが100時間かかるなら考える
2024/08/05(月) 20:41:24.61ID:GxQBFufM0
単純にやると100倍遅くていろいろ工夫しても数倍遅いことはある
378デフォルトの名無しさん (ワッチョイ b3ee-eg/E)
垢版 |
2024/08/05(月) 20:53:20.49ID:8ZGl3ILU0
>>376
それ結構ちがくね????
2024/08/05(月) 21:03:47.56ID:MKJ09w0E0
>>375
処理速度を気にするような処理はPythonには不向きってことではある
2024/08/05(月) 21:13:21.36ID:ESlcV2eK0
pipでパッケージいろいろ使えるし
手軽でいいぞpythonは
381デフォルトの名無しさん (ワッチョイ 5317-2913)
垢版 |
2024/08/05(月) 21:13:41.24ID:UvaKmykX0
>>375
そんなド素人の話なんか無視してくれ
382デフォルトの名無しさん (ワッチョイ 5317-2913)
垢版 |
2024/08/05(月) 21:14:56.84ID:UvaKmykX0
>>379
オンボロPC上で動かすのか?
383デフォルトの名無しさん (ワッチョイ 012a-xNjE)
垢版 |
2024/08/05(月) 22:59:18.56ID:BduEjBaz0
Pythonで書いたコードでも処理速度を速くする方法はあるというのがひとつと、
Pythonで書くことによって簡単に書ける代わりに処理速度が犠牲になることが問題なのか考えるべきというのがもう一つある
処理時間よりコードが完成するまでの速さが大事な場合もあるからね

実際に本格的にプログラムを書くようになったら、楽さと速さとかその他の特性に合わせて適切な言語を選んで書くようになるので、
初めての言語なら気にしなくてよいと思う
2024/08/05(月) 23:06:08.80ID:Yc9kthAg0
困った時に考えればいいんだよ
385デフォルトの名無しさん (ワッチョイ 5317-2913)
垢版 |
2024/08/05(月) 23:14:29.13ID:UvaKmykX0
Pythonそのものの話じゃねえだろw
386デフォルトの名無しさん (ワッチョイ a972-ImVy)
垢版 |
2024/08/05(月) 23:47:18.26ID:SkPCtOW00
Pythonは「コンパイルを必要とする他の言語に比べると遅い」は事実だけど、用途によってはそれでも十分という感じ
例えばちょっとした事務作業を簡略化するために「ファイルを読み取り、テキストの内容を適宜加工して出力する」くらいならPythonでも十分
それくらいなら0.1秒未満で終わるのが殆どだろうし、Pythonが遅いと体感することも無いと思う

それが数百、数千ファイルを処理したいとなると、いくらか「待たされる」感じにはなると思う
コンパイルされた言語での実装との差も感じられるはず
この待ち時間が十分許容できるなら問題はない

パフォーマンスが重要な分野はPythonは向かない
ゲームエンジンを1から作りたいという場面でPythonはありえないし、それで作ったゲームはとても重くなるはず

ただし、世の中には「他の言語で作られたPythonライブラリ」も多くあって、それを使う分には問題ない
例えば機械学習で使われるPyTorchはC++で書かれていて、それをPythonから扱えるようライブラリを提供している
だからPyTorchを使う分にはC++と同等の速度が出るけど、これもゲームエンジンと同じで、中身の部分はPythonで作れるようなものではない
2024/08/05(月) 23:58:29.54ID:DFvgfJhZ0
中身のない長文はいいよ
388デフォルトの名無しさん (ワッチョイ a972-ImVy)
垢版 |
2024/08/06(火) 00:10:59.10ID:LI/CYdvn0
初心者質問と書いてるんだから少しくらい丁寧に答えても良いと思うが
普段からプログラムを書くような人にとっては常識だけど、そもそもそういう人に向けたレスではないし
389デフォルトの名無しさん (ワッチョイ 5317-2913)
垢版 |
2024/08/06(火) 02:00:07.09ID:mZs5SC9y0
>>386
あんた素人すぎよ
390デフォルトの名無しさん (ワッチョイ 5317-2913)
垢版 |
2024/08/06(火) 02:01:28.55ID:mZs5SC9y0
>>386
ファイル操作なんてプログラミング言語のせいじゃない。
391デフォルトの名無しさん (ワッチョイ 5317-2913)
垢版 |
2024/08/06(火) 02:03:20.81ID:mZs5SC9y0
プログラム板はレベルが低いからなw
2024/08/06(火) 07:52:57.79ID:3SzxwaA/0
IOで遅くなってるのは何で書いても遅い
393デフォルトの名無しさん (ワッチョイ 992a-DL1l)
垢版 |
2024/08/06(火) 08:03:04.64ID:bIwg8fIw0
IOに限らないのだろ。>>386 は「ファイルを読み取り、テキストの内容を適宜加工して出力する」と 言ったので。
394デフォルトの名無しさん (アウアウエー Sa23-LX2u)
垢版 |
2024/08/06(火) 10:24:07.35ID:SBxTyrdXa
イキったネットのフレンドωωω
2024/08/06(火) 10:35:02.43ID:Q+vWyqeI0
Pythonはインタプリタの起動時間があるのでHello World出力するのでも0.1秒くらいは最低でもかかる
「ファイルを読み取り、テキストの内容を適宜加工して出力する」処理をほとんどの場合で0.1秒未満で終わらせるというのは無理

常駐プログラムにして起動時間を除いて考えるならファイルの内容や処理内容によっては可能かもしれない
ただ起動時間の遅さというのは常に付きまとうので5〜10秒くらいは別に待っても構わないという処理でなければ違う選択肢を考えたほうがいいことが多い
396デフォルトの名無しさん (ワッチョイ 5317-2913)
垢版 |
2024/08/06(火) 12:19:06.97ID:mZs5SC9y0
>>395
2024/08/06(火) 12:23:27.81ID:kLkVzzoo0
>>395
398デフォルトの名無しさん (ワッチョイ 5317-2913)
垢版 |
2024/08/06(火) 12:44:03.72ID:mZs5SC9y0
>>395
それはほとんどOSとハードウェアの速度の話だぞ?
2024/08/06(火) 13:21:11.66ID:PkPYDp6C0
「pythonは遅い」
でよくね?
400デフォルトの名無しさん (ワッチョイ 5317-2913)
垢版 |
2024/08/06(火) 13:21:48.35ID:mZs5SC9y0
2024/08/06(火) 13:33:03.34ID:geBAoTM5M
2024/08/06(火) 13:41:58.05ID:kLkVzzoo0
403デフォルトの名無しさん (ワッチョイ 992a-DL1l)
垢版 |
2024/08/06(火) 18:27:06.81ID:bIwg8fIw0
>>398
> ほとんどOSとハードウェアの速度の話

でもいいんだ。
その条件を同一にした上での「他と体感的に感じるもんなん?」なのだろうから。
404デフォルトの名無しさん (ワッチョイ 01c5-xNjE)
垢版 |
2024/08/06(火) 19:56:45.64ID:ZohNGK+y0
プログラムの起動時間なんて工夫がかなりしやすい部分だし、そういう部分まで持ち出してきて遅いから別のものを検討した方がいいとかいうのはFUDに近いものを感じるな。
そんなに起動時間気になるならカーネルモジュールでも書けばって気になる。
全体的に遅いのは覆せないとは思うけど、生産性の高さもまた覆せない特性で、無視できないことが多い部分だからね
405デフォルトの名無しさん (ワッチョイ a90d-ImVy)
垢版 |
2024/08/06(火) 21:08:40.59ID:LI/CYdvn0
>>399
Pythonは遅い
けれど仮に100倍遅くても問題ない分野は多いし、その範囲であればPythonの使いやすさというメリットが上回る
というのが妥当な評価だと思う
2024/08/06(火) 22:00:38.56ID:1qiJX+nhd
perlは部分的に異常に速い部分あるよな
正規表現とか
pythonはそういうのないな
2024/08/06(火) 22:18:08.13ID:4zx8wgR80
そのへんが実感できるのは、事あるごとに時間測定してた人だけだろうな
perlで全ファイル読み込んで検索するより、
外部コマンドでgrepする方がよっぽど速くて悲しかった
408デフォルトの名無しさん (ワッチョイ e190-zaQw)
垢版 |
2024/08/06(火) 23:24:30.52ID:gek/gjz60
アイアン‼マーイク。。。パイソン‼
2024/08/07(水) 00:03:12.33ID:/ODS7LdN0
>>407
事あるごとに時間測定なんてせんでも
ごく基本的なコスト意識で明白なケースだから題材が不適
2024/08/07(水) 00:06:07.93ID:DPBAMoq/0
>>407
なんでその条件でPerlの方が速いって思えるんだよ…
2024/08/07(水) 00:23:06.97ID:RY0/qnO20
何1000回とgrepしたらキャッシュがあるとはいえ毎回ファイル読み込みが発生する
そんなことするよりオンメモリで検索した方が速い
perlはその有利さを台無しにするくらい遅かった
2024/08/07(水) 01:01:23.97ID:DPBAMoq/0
オンメモリってgrepもオンメモリでしょ…
413デフォルトの名無しさん (ワッチョイ 912a-DL1l)
垢版 |
2024/08/07(水) 09:19:05.25ID:Bn6kME9z0
結局、
「Pythonは簡単だけど処理速度が遅い」(質問者のネトゲのフレンド曰く)を、誰もが表現を替えて言うだけだな。

どの言語に対して処理速度が優位(或いは不利が少ない)であると >>370 は嬉しいのかを、俺としては知りたかった。
2024/08/07(水) 12:20:22.69ID:88ilwDOU0
おまえらの話が高次元すぎてよくわからないが、スクレイピングやSQL操作やそれを元に計算する程度ならそこまでの体感差はなさそうってことやな?
このままPython学習頑張るぜ!!!
2024/08/07(水) 14:07:09.52ID:DPBAMoq/0
>>414
そういうことだ
頑張れ
2024/08/07(水) 14:25:32.05ID:7va/UotI0
pythonで目的を実現出来ていない人が、
速度を求めてより低級言語で実現できるとは思えないが。
2024/08/07(水) 14:54:42.48ID:DFF0Pa6G0
ハードウェアに近いものを作るとか、速度が何に増しても重要だとか、そういうものでなければ、Pythonが第一候補になる
Pythonほどライブラリが充実してるものはないから
2024/08/07(水) 16:41:18.97ID:WVujG61+0
次の目標は、pythonのコードを多言語対応(英語と日本語)させて、Microsoft Storeで売るぞ
現在は他所で日本のみの販売、売上が5、6、7月と綺麗に7,000円ずつになってる(1本500円で販売)
419デフォルトの名無しさん (アウアウエー Sa23-LX2u)
垢版 |
2024/08/07(水) 17:11:17.36ID:RPpAsXPKa
>>406
numpy
420デフォルトの名無しさん (アウアウエー Sa23-LX2u)
垢版 |
2024/08/07(水) 17:12:50.73ID:RPpAsXPKa
>>416
ほんそれ
2024/08/07(水) 19:15:35.06ID:lbc2IjWY0
GUIもpythonでやり出して他の言語触ることが少なくなってきた
2024/08/07(水) 19:22:06.08ID:nJZBaZTg0
どういう用途にGUIを使うの?
2024/08/07(水) 19:23:15.39ID:aXIC41FY0
なんぴー
424デフォルトの名無しさん (ブーイモ MMcd-2913)
垢版 |
2024/08/07(水) 20:10:49.00ID:ZGVac6R9M
>>421
環境依存だけどな
2024/08/07(水) 21:00:57.38ID:8g4HWsVjd
tkinter
2024/08/08(木) 01:18:29.98ID:1Vd1IV+d0
パッケージソフトとして売るとかを考えなければ、Pythonが一番使いやすい
作りたいものを最も早く作れるのがPythonだと思う
427デフォルトの名無しさん (ワッチョイ 5391-2913)
垢版 |
2024/08/08(木) 06:39:11.73ID:DOZ5K/JU0
2024/08/08(木) 07:19:35.70ID:m9Txas98M
AUTO CAD 互換 CADを作ってクレメンス
2024/08/08(木) 07:49:05.69ID:JM+PJhcq0
普段使ってる大抵のソフトはpythonで作れない
動画再生ソフト、表計算ソフト、テキストエディタ、webブラウザ、
画像編集ツール、音楽編集ツール
2024/08/08(木) 08:31:55.19ID:P+zsor/K0
作れないわけじゃないんだよなぁ
作っても遅くて使い物にならないから作らないだけで
2024/08/08(木) 08:43:03.90ID:jWUK8f0s0
この手の作業を自分の好きなように自動化させる事に向いている
2024/08/08(木) 10:20:12.40ID:m9Txas98M
CVATを自動操作するツールを作ってクレメンス
433デフォルトの名無しさん (ワッチョイ eb8e-AHtZ)
垢版 |
2024/08/08(木) 13:37:28.10ID:NjUiRtxY0
>>426
自分の見える極狭い範囲のことだけなのに、全部がそうだと思い込む幼稚な頭の人かな
2024/08/08(木) 17:25:55.09ID:fFJcJS5t0
複数の変数初期化というか同じ値放り込みたいんだけど
a,b,c = (None for i in range(3))

なんかもっとスマートな方法ないのかな
2024/08/08(木) 17:30:52.14ID:ntQwkVt/0
レスした瞬間そっこー解決したわすまん
a=b=c=None
2024/08/08(木) 17:37:12.76ID:1Vd1IV+d0
>>429
既にいいものが存在していて作る必要がない
437デフォルトの名無しさん (ワッチョイ eb2a-DL1l)
垢版 |
2024/08/08(木) 18:32:36.69ID:yAKyTPF90
以下を超える迂遠な方法を考案してくれたまえ、キミタチ。

>>434
> a,b,c = (None for i in range(3))
2024/08/09(金) 07:45:57.46ID:wGtJ6OQCa
パフォーマンスを最適化するためのヒント

ループよりもリスト内包を使う
ジェネレータを活用して効率的な処理を行う
高価な関数呼び出しをキャッシュする
コンテキストマネージャでリソースを管理する
NumPyで演算をベクトル化
2024/08/09(金) 08:10:44.56ID:RWMssfNv0
速度要ることが見えてるなら最初からpythonを選ばないのが正解

全探索でパズル解かせるとかやると、終わるまで何日もかかる
工夫で1桁くらい速くなるけど、結局Cに移植とかになる
2024/08/09(金) 10:18:56.99ID:UdzYyqcH0
>a=b=c=None
書き方の問題とは別に1つの関数内で3つの変数に明示的にNoneを代入する状況は避けたほうがいいように思う
■ このスレッドは過去ログ倉庫に格納されています