当スレに★Python以外のプログラミング言語での回答類を書くべからず★
派生言語はそれぞれ専スレがある(この板にあるとは限らない)ので、そっち池。
「Ruby」「Rails」「某言語では」「クソチョンw」をNGワード登録推奨。荒らしは、完全スルー放置が一番きらいです。
このスレッドは「お勉強」スレのほうには書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を、勇気を持って書き込むスレッドです。
へび使いが優しくコメントを返しますので、お礼は Python の布教と初心者の救済をお願いします。
★エラーを解決したい場合★は、
表示されたエラーの全文(勝手に省略やスクショうp等の横着クソ行為禁止)と、
実行環境(Pythonのバージョン・OSとIDEの種類およびバージョン)をシッカリ書くこと。
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
〇前スレ〇 【まず1嫁】くだすれPython(超初心者用) その56
http://mevius.5ch.net/test/read.cgi/tech/1640536690/
次スレたては >>985 あたりが挑戦する。
### END OF TEMPLATE ###
【まず1嫁】くだすれPython(超初心者用) その57
■ このスレッドは過去ログ倉庫に格納されています
2022/05/22(日) 22:25:08.74ID:/hGmbW/Z
343デフォルトの名無しさん
2022/07/18(月) 23:35:38.05ID:Yb4pZTqb344デフォルトの名無しさん
2022/07/18(月) 23:42:11.41ID:q/MsDqBP >>343
for文使うのがベストってこと?
for文使うのがベストってこと?
345デフォルトの名無しさん
2022/07/18(月) 23:54:17.73ID:8wpG6nJ0 re.matchで何がマッチしたか知る方法てある?
s = 'ABCDEFGHIJK'
m = re.match(r'ABC|HIJ', s) 'm: <re.Match object; span=(1, 4), match='BCD'>
match='BCD'を取ってきたいのだが、方法てある?
ネットだと()でくくってgroupsでとれて書いてあるけど、
s = 'ABCDEFGHIJK'
m = re.search(r'(BCD|HIJ)', s)
x_text = m.groups(0)
print(x_text)
('BCD',)て表示されるし、x_textはstr型じゃないから文字列操作ができない。
Python 3.9.13です。
s = 'ABCDEFGHIJK'
m = re.match(r'ABC|HIJ', s) 'm: <re.Match object; span=(1, 4), match='BCD'>
match='BCD'を取ってきたいのだが、方法てある?
ネットだと()でくくってgroupsでとれて書いてあるけど、
s = 'ABCDEFGHIJK'
m = re.search(r'(BCD|HIJ)', s)
x_text = m.groups(0)
print(x_text)
('BCD',)て表示されるし、x_textはstr型じゃないから文字列操作ができない。
Python 3.9.13です。
346デフォルトの名無しさん
2022/07/19(火) 00:05:16.63ID:pVZms+nG347デフォルトの名無しさん
2022/07/19(火) 00:32:46.32ID:8NIkYSWg348デフォルトの名無しさん
2022/07/19(火) 01:22:31.44ID:XqVlnmi4 >>339
del now でどうでしょうか
del now でどうでしょうか
349デフォルトの名無しさん
2022/07/19(火) 08:41:05.75ID:UwsMPoKY 内包表記って普通のforと違うみたいだけど、なんでこんなに速いの?
350デフォルトの名無しさん
2022/07/19(火) 09:10:11.34ID:mYl9AT7Z351デフォルトの名無しさん
2022/07/19(火) 09:30:11.93ID:ioxaO2di a=[f(x) for x in range(100)]
で、今xがいくつのところをやってますとprintする方法はありますか?
forを外に持ってくると処理が遅くなってしまうので避けたいです
で、今xがいくつのところをやってますとprintする方法はありますか?
forを外に持ってくると処理が遅くなってしまうので避けたいです
352デフォルトの名無しさん
2022/07/19(火) 09:32:53.74ID:Dm4GA3mb 訂正
a=[f(x[i]) for i in range(100)]
にします
iの値は関数に持ち込みません
持ち込むのなら関数でprintできますが、それはなしにします
a=[f(x[i]) for i in range(100)]
にします
iの値は関数に持ち込みません
持ち込むのなら関数でprintできますが、それはなしにします
353デフォルトの名無しさん
2022/07/19(火) 10:04:16.93ID:L7UUhMht >>352
a = [print(i) or f(x[i]) for i in range(10)]
a = [print(i) or f(x[i]) for i in range(10)]
354デフォルトの名無しさん
2022/07/19(火) 10:12:32.45ID:zbPEuSRT CPU処理を高速化するのはmultiprocessingを使うことでできたのですが、
今度はGPUでmodel.fitするほうが遅くてしょうがないです
multiprocessing同様に簡単に速くする方法があれば教えてください
今度はGPUでmodel.fitするほうが遅くてしょうがないです
multiprocessing同様に簡単に速くする方法があれば教えてください
355デフォルトの名無しさん
2022/07/19(火) 10:15:51.10ID:XqVlnmi4 >>352
fの中でカウント用の変数を持ってインクリメントする
fの中でカウント用の変数を持ってインクリメントする
356デフォルトの名無しさん
2022/07/19(火) 10:20:19.62ID:+zTkD2Kt で
357デフォルトの名無しさん
2022/07/19(火) 10:20:59.40ID:+zTkD2Kt358デフォルトの名無しさん
2022/07/19(火) 10:23:27.04ID:2mzjLS5j359デフォルトの名無しさん
2022/07/19(火) 10:30:11.09ID:2mzjLS5j >>345
re.findall
re.findall
360デフォルトの名無しさん
2022/07/19(火) 10:31:34.68ID:2mzjLS5j >>349
普通のforと違うから
普通のforと違うから
361デフォルトの名無しさん
2022/07/19(火) 10:36:57.19ID:COa8jHBw >>357
print(i)の戻り値がNoneだから、必ずorの右辺を返す
print(i)の戻り値がNoneだから、必ずorの右辺を返す
362デフォルトの名無しさん
2022/07/19(火) 10:51:26.50ID:brlHmAiq363デフォルトの名無しさん
2022/07/19(火) 11:07:31.09ID:+zTkD2Kt364デフォルトの名無しさん
2022/07/19(火) 11:30:53.28ID:bdrM7/md printしたらforと内包表記の違いなんて誤差に見えるほど遅くなると思うがそれはええんか?
365デフォルトの名無しさん
2022/07/19(火) 11:33:51.75ID:RISkfx3J forと内包表記で速さに違いが出るのはなぜですか?
同じコードをなぜ生成しないんですか?
同じコードをなぜ生成しないんですか?
366デフォルトの名無しさん
2022/07/19(火) 11:37:38.74ID:856tCJOd 内包表記でプログレス挟んで遅いのは嫌とかバカの極み
可読性考えて普通のforで回せ。 つか速度測ってみろ。大差ねえわたぶん
[(f(x[i]), print(i)) for i in range(10)]
可読性考えて普通のforで回せ。 つか速度測ってみろ。大差ねえわたぶん
[(f(x[i]), print(i)) for i in range(10)]
367デフォルトの名無しさん
2022/07/19(火) 12:00:14.16ID:GEUE7oT9 超初心者を馬鹿にしないと精神の安定が保てないかわいそうな人
368デフォルトの名無しさん
2022/07/19(火) 12:19:44.97ID:192s6b8D 馬鹿にされるような日本語使いする自称超初心者が悪い
369デフォルトの名無しさん
2022/07/19(火) 12:24:07.94ID:AricPVYV >>349
比較したコードを出してみて
比較したコードを出してみて
370デフォルトの名無しさん
2022/07/19(火) 12:31:03.42ID:ZGMRA42U >>351
print等の副作用を伴う処理を繰り返す場合は
内包表記ではなくforを使うのがpythonにおける暗黙の了解
値の加工生成と入出力を分けて書くのはpythonに限らずプログラミングの基本
print等の副作用を伴う処理を繰り返す場合は
内包表記ではなくforを使うのがpythonにおける暗黙の了解
値の加工生成と入出力を分けて書くのはpythonに限らずプログラミングの基本
371デフォルトの名無しさん
2022/07/19(火) 12:45:56.52ID:2mzjLS5j >>363
a = [[print(i), f(x[i])][1] for i in range(10)]
a = [[print(i), f(x[i])][1] for i in range(10)]
372デフォルトの名無しさん
2022/07/19(火) 12:59:28.59ID:COa8jHBw カウント1毎にプログレス表示すると内包表記使う意味ないかもしれんが、
リストへの追加100毎
カウント10000000毎にプログレス
で時間計測してみた
内包表記
a = [(i%10000000 or print(i), str(i))[1] for i in range(100000000) if i%100 == 0]
8秒
forループ
a=[]
for i in range(100000000):
____if not (i%10000000):
________print(i)
____if i%100 == 0:
________a.append(str(i))
20秒
行儀悪い書き方だが、条件しだいで効果はある
リストへの追加100毎
カウント10000000毎にプログレス
で時間計測してみた
内包表記
a = [(i%10000000 or print(i), str(i))[1] for i in range(100000000) if i%100 == 0]
8秒
forループ
a=[]
for i in range(100000000):
____if not (i%10000000):
________print(i)
____if i%100 == 0:
________a.append(str(i))
20秒
行儀悪い書き方だが、条件しだいで効果はある
373デフォルトの名無しさん
2022/07/19(火) 13:09:56.89ID:ieHxnJ8/ >>365
ループ内でpythonのインタプリタで実行される処理とコンパイル済みのCのコードで実行される処理の行き来が減れば速くなる
内包表記は式しか書けないのとlist.appendのようにインタプリタがメソッドを探す処理が不要にになることが多いので単純な式評価だと内包表記がやや速い結果になりやすい
(例えばループの外でappend = outlist.appendとしてループ内ではメソッドじゃなく関数呼び出しにすれば多少速くなる)
ただforより内包表記が速いから内包表記を使うというのは使い方が間違ってるか使う言語を間違ってる
ループ内でpythonのインタプリタで実行される処理とコンパイル済みのCのコードで実行される処理の行き来が減れば速くなる
内包表記は式しか書けないのとlist.appendのようにインタプリタがメソッドを探す処理が不要にになることが多いので単純な式評価だと内包表記がやや速い結果になりやすい
(例えばループの外でappend = outlist.appendとしてループ内ではメソッドじゃなく関数呼び出しにすれば多少速くなる)
ただforより内包表記が速いから内包表記を使うというのは使い方が間違ってるか使う言語を間違ってる
374デフォルトの名無しさん
2022/07/19(火) 13:35:02.16ID:RISkfx3J375デフォルトの名無しさん
2022/07/19(火) 13:41:20.47ID:2mzjLS5j 8秒の方はstr()呼ばれる回数も少ないんじゃね
やり直し
やり直し
376デフォルトの名無しさん
2022/07/19(火) 13:45:55.20ID:e6PA2QPH 内包表記を配列操作以外に使うな(関数叩くな)って書いてるのeffective pythonだっけ
>>374
速いコードって、たとえば進捗吐かないとか、無駄な評価式やループしないとか、そうやって作ってくんよ
鈍重な書き方しても速いのがいいっていうなら、もう根本的にpythonは遅い言語だよ
>>374
速いコードって、たとえば進捗吐かないとか、無駄な評価式やループしないとか、そうやって作ってくんよ
鈍重な書き方しても速いのがいいっていうなら、もう根本的にpythonは遅い言語だよ
377デフォルトの名無しさん
2022/07/19(火) 13:57:38.21ID:COa8jHBw >>375
str()呼ばれる回数は同じじゃね
でも、i%10000000の回数違ってた
内包表記
a = [(i%10000000 or print(i), str(i))[1] for i in range(100000000) if i%100 == 0]
8秒
forループ
a=[]
for i in range(100000000):
____if i%100 == 0:
________if not (i%10000000):
____________print(i)
________a.append(str(i))
12秒
str()呼ばれる回数は同じじゃね
でも、i%10000000の回数違ってた
内包表記
a = [(i%10000000 or print(i), str(i))[1] for i in range(100000000) if i%100 == 0]
8秒
forループ
a=[]
for i in range(100000000):
____if i%100 == 0:
________if not (i%10000000):
____________print(i)
________a.append(str(i))
12秒
378デフォルトの名無しさん
2022/07/19(火) 14:02:29.41ID:6WNMcjy9 >>377
printしない場合は?
printしない場合は?
379デフォルトの名無しさん
2022/07/19(火) 14:08:53.16ID:COa8jHBw >>378
str(i)呼ぶ回数は、両方 100000000 / 100 = 1000000回
str(i)呼ぶ回数は、両方 100000000 / 100 = 1000000回
380デフォルトの名無しさん
2022/07/19(火) 14:12:29.27ID:6WNMcjy9 >>379
うんだから何秒なの?
うんだから何秒なの?
381デフォルトの名無しさん
2022/07/19(火) 14:12:50.87ID:Xr1AbmZQ 結局書きづらい、読みづらくてミスしちゃうんだから
普通のforループの方が総カロリー低いと思います
普通のforループの方が総カロリー低いと思います
382デフォルトの名無しさん
2022/07/19(火) 14:17:28.28ID:COa8jHBw383デフォルトの名無しさん
2022/07/19(火) 14:19:06.99ID:RISkfx3J 行列プログラマーという本では、集合の表記に近い内包表記のほうが分かりやすいと書いてあります。
実際、もっぱら内包表記を使っています。
実際、もっぱら内包表記を使っています。
384デフォルトの名無しさん
2022/07/19(火) 14:40:11.78ID:HHxHBIIc385デフォルトの名無しさん
2022/07/19(火) 14:49:08.31ID:Dd2ngZhk 内包表記でもインデントしていいんですよ
可読性高めていけ
可読性高めていけ
386デフォルトの名無しさん
2022/07/19(火) 14:52:21.67ID:COa8jHBw387デフォルトの名無しさん
2022/07/19(火) 15:07:57.56ID:COa8jHBw printは時間がかかってないのではなく回数を少なくしてる
他の人が指摘してるように、進捗を細かく表示したい場合、内包表記もforループも時間差はほぼ無くなる
printはやはり時間がかかる
他の人が指摘してるように、進捗を細かく表示したい場合、内包表記もforループも時間差はほぼ無くなる
printはやはり時間がかかる
388デフォルトの名無しさん
2022/07/19(火) 15:17:30.04ID:kjnFmzM9 時間差は4秒で変わらないんじゃないの
printに時間がかかるから4秒の割合が小さくなってほとんど意味ないじゃんってことでしょ
printに時間がかかるから4秒の割合が小さくなってほとんど意味ないじゃんってことでしょ
389デフォルトの名無しさん
2022/07/19(火) 15:40:36.31ID:COa8jHBw390デフォルトの名無しさん
2022/07/19(火) 15:40:46.26ID:bdrM7/md a=[]
…
a.append(str(i))
でなくて、
a=[0]*100000000/100
…
a[i]=str(i)
だとますます変わらなそう
…
a.append(str(i))
でなくて、
a=[0]*100000000/100
…
a[i]=str(i)
だとますます変わらなそう
391デフォルトの名無しさん
2022/07/19(火) 16:01:31.52ID:Ao+3qyOr392デフォルトの名無しさん
2022/07/19(火) 16:03:31.06ID:/jGGKkxp393デフォルトの名無しさん
2022/07/19(火) 16:18:19.62ID:COa8jHBw394デフォルトの名無しさん
2022/07/19(火) 16:28:38.52ID:L7UUhMht そもそも内包表記は可読性良いよ、ギュッと1行にまとまりつつも分かりやすい
for文見る方がダルイわ、内包表記にできないものを仕方なくfor文にしているよ
慣れだよ慣れ、最近だと二重ループの内包表記も全然苦じゃない、美しいとさえ感じる
for文見る方がダルイわ、内包表記にできないものを仕方なくfor文にしているよ
慣れだよ慣れ、最近だと二重ループの内包表記も全然苦じゃない、美しいとさえ感じる
395デフォルトの名無しさん
2022/07/19(火) 16:31:26.97ID:RISkfx3J396デフォルトの名無しさん
2022/07/19(火) 16:40:41.64ID:wHnodxSw forループのほうが内包表記より速いなんてことあるの?
397デフォルトの名無しさん
2022/07/19(火) 18:36:04.44ID:paq2dZhq それこそ、内包表記で呼ぶ関数の回数をカウントして確認たいならデコレーターとかでtqdm使うようにした方が良くないかな?
内包表記の中をごちゃごちゃにするのは基本的には避けた方がいいと思うんだよな。
シンプルに書くために内包表記を使ってるのであって、Zコンビネーターとか使ってへんなことするなら普通のforとかにした方がいいよね
遊びとしては否定しないけどね
内包表記の中をごちゃごちゃにするのは基本的には避けた方がいいと思うんだよな。
シンプルに書くために内包表記を使ってるのであって、Zコンビネーターとか使ってへんなことするなら普通のforとかにした方がいいよね
遊びとしては否定しないけどね
398デフォルトの名無しさん
2022/07/19(火) 19:06:26.25ID:xA31LZ9f code golf で言うと
打数多い方が自慢してるような
糞な流れ
もうやめませんか
打数多い方が自慢してるような
糞な流れ
もうやめませんか
399デフォルトの名無しさん
2022/07/19(火) 19:27:22.92ID:w0DVg8Bk 自治厨久しぶりに見た
400デフォルトの名無しさん
2022/07/19(火) 19:55:09.64ID:z/It7jZN >>397 に一票
こういうのこそデコレーターの出番だと思う
こういうのこそデコレーターの出番だと思う
401デフォルトの名無しさん
2022/07/19(火) 20:20:06.84ID:n8OVMrsb つまり具体的にはどういうこと?
402デフォルトの名無しさん
2022/07/19(火) 22:29:55.85ID:Dd2ngZhk 一行にまとめた内包表記より、インデントした内包表記の方が可読性が下がる
403デフォルトの名無しさん
2022/07/19(火) 22:32:42.31ID:Dd2ngZhk の?
404デフォルトの名無しさん
2022/07/19(火) 23:31:48.45ID:paq2dZhq405デフォルトの名無しさん
2022/07/20(水) 00:25:50.52ID:sLuJt4wx406デフォルトの名無しさん
2022/07/20(水) 01:30:58.07ID:aFoX4Dx/ >>405
そうそう、その辺はもっといい方法があるかもしれないが、ちょっと思いつかなかったのでそんな感じ。
回数が決まってないときは棒グラフは出せないけど1秒に何イテレーションできてるとかはわかると思う。
そうそう、その辺はもっといい方法があるかもしれないが、ちょっと思いつかなかったのでそんな感じ。
回数が決まってないときは棒グラフは出せないけど1秒に何イテレーションできてるとかはわかると思う。
407デフォルトの名無しさん
2022/07/20(水) 03:27:59.73ID:vTCCBmkT @tqdm_wrapper(total_count)ってできればいいんだけど、そういうのは無理なのかな?
408デフォルトの名無しさん
2022/07/20(水) 06:19:50.33ID:uVwid/eb printなしでやってもforループのほうがほんの少し内包表記より速いんだけどなぜだろう
409デフォルトの名無しさん
2022/07/20(水) 07:14:30.03ID:vC0V/6Za PEP
pythonは描き方がひとつ(キリっ
pythonは描き方がひとつ(キリっ
410デフォルトの名無しさん
2022/07/20(水) 07:58:53.16ID:rNnuNQ69411デフォルトの名無しさん
2022/07/20(水) 09:48:14.82ID:53g3nF67 Pythonのネット記事読んでるとAnacondaを入れてどうこう、というチュートリアルばっかりあるんだけど
肝心のAnacondaはどういう状況下で使うものなのか、説明省かれててよくわからないんだよな
ライブラリとpythonのバージョンが合わないと使えないことがあるからそれを避けるため、って認識でいいの?
不具合無かったらAnacondaつかわなくていいのかな?
肝心のAnacondaはどういう状況下で使うものなのか、説明省かれててよくわからないんだよな
ライブラリとpythonのバージョンが合わないと使えないことがあるからそれを避けるため、って認識でいいの?
不具合無かったらAnacondaつかわなくていいのかな?
412デフォルトの名無しさん
2022/07/20(水) 11:17:28.13ID:wWIP1AbD anacondaはAnaconda社の計算科学のための商品で学生の方など教育や学術目的、または趣味の用途であれば無償でご利用いただけます
入門書とかで使われてるのは、色々と最初から入ってるから開発やデプロイ先の環境構築を解説しなくて済むからだよ
anacondaに依存しないやり方覚えた方が楽っていうか、むしろその方が必須になる
入門書とかで使われてるのは、色々と最初から入ってるから開発やデプロイ先の環境構築を解説しなくて済むからだよ
anacondaに依存しないやり方覚えた方が楽っていうか、むしろその方が必須になる
413デフォルトの名無しさん
2022/07/20(水) 11:22:56.97ID:wWIP1AbD 退屈なことは Python にやらせようを書いた人も同じような事言ってた
414デフォルトの名無しさん
2022/07/20(水) 11:27:11.69ID:wWIP1AbD アナコンダを否定してるわけじゃないよ。素晴らしい商品ですし、選択肢の一つとして選べるのは良いことだと思います
415デフォルトの名無しさん
2022/07/20(水) 11:55:51.53ID:L6JCmqAC あえて、IronPythonに手を出して茨の道をw
416デフォルトの名無しさん
2022/07/20(水) 13:27:25.36ID:SSFD7/IV 今Twitterなどで話題になってる仮想通貨のbotを作りたいです
年間で1億円ぐらい稼ぐには何の勉強すればいいですか?
年間で1億円ぐらい稼ぐには何の勉強すればいいですか?
417デフォルトの名無しさん
2022/07/20(水) 13:38:38.86ID:pMrjs46b 経済と仮想通貨
418デフォルトの名無しさん
2022/07/20(水) 13:38:57.02ID:ShYgaPwJ デッサン力
419デフォルトの名無しさん
2022/07/20(水) 14:14:10.83ID:hOJNeZde これからのキーワードは仮想環境
anacondaもIronPythonもPyTorchも欲しい環境をコンテナ一発でドーン!
ってやりたいからDocker勉強しようかと思っている
anacondaもIronPythonもPyTorchも欲しい環境をコンテナ一発でドーン!
ってやりたいからDocker勉強しようかと思っている
420デフォルトの名無しさん
2022/07/20(水) 15:00:19.03ID:qJwz0nM8 ぶっちゃけ
docker の anaconda 版とか
docker の 標準 python 版とか
そういうので良いんだわ
解説書あっても各々インスコ時にバージョンガーとかおま環とか
だるいサポートにみんな疲れたんだろ
docker の anaconda 版とか
docker の 標準 python 版とか
そういうので良いんだわ
解説書あっても各々インスコ時にバージョンガーとかおま環とか
だるいサポートにみんな疲れたんだろ
421デフォルトの名無しさん
2022/07/20(水) 15:29:51.99ID:djIfGOxS windows10 + python3.9 では生ソケットを扱う事ができないのでしょうか
import socket
s = socket.socket(socket.AF_INET, socket.SOCK_RAW, socket.IPPROTO_IP)
ソケット作成のとこでエラーがでます
[WinError 10013]
アクセス許可で禁じられた方法でソケットにアクセスしようとしました
とエラーメッセージがでます
ログインしているユーザはadministratorの権限も持っています
英語のサイトで調べるとprohibitというワードもありました
識者の方ご指導願います
import socket
s = socket.socket(socket.AF_INET, socket.SOCK_RAW, socket.IPPROTO_IP)
ソケット作成のとこでエラーがでます
[WinError 10013]
アクセス許可で禁じられた方法でソケットにアクセスしようとしました
とエラーメッセージがでます
ログインしているユーザはadministratorの権限も持っています
英語のサイトで調べるとprohibitというワードもありました
識者の方ご指導願います
422421
2022/07/20(水) 15:40:01.72ID:djIfGOxS 421です
コマンドプロンプトを管理者権限で実行する事が必要であると学びました
コマンドプロンプトを管理者権限で実行する事が必要であると学びました
423デフォルトの名無しさん
2022/07/20(水) 16:51:36.92ID:rnlV1uw8 anacondaはまああれだけどspyderはなんか好きだ
424デフォルトの名無しさん
2022/07/20(水) 17:04:37.61ID:rNnuNQ69 a=[]
append = a.append
for i in range(30000000):
____append(i)
のように、メソッドをあらかじめ変数に入れると高速化できるという情報をよく見かけるけど本当なの?
何回計測しても誤差程度の差しかなく、速くなってるのか確認できないんだけど
append = a.append
for i in range(30000000):
____append(i)
のように、メソッドをあらかじめ変数に入れると高速化できるという情報をよく見かけるけど本当なの?
何回計測しても誤差程度の差しかなく、速くなってるのか確認できないんだけど
425デフォルトの名無しさん
2022/07/20(水) 17:27:44.50ID:Lx4+ezqp426デフォルトの名無しさん
2022/07/20(水) 17:49:55.19ID:ZOYHOoJs このくらい最適化してよと思っちゃうんだが無理なんかな?
427デフォルトの名無しさん
2022/07/20(水) 17:50:04.72ID:rNnuNQ69 >>425
ありがとうございます
計測方法のミスに気づきました
関数を作らず計測していたので、append = a.append のところがグローバル変数になって遅くなり、
その結果、高速化していなかったようです
ありがとうございます
計測方法のミスに気づきました
関数を作らず計測していたので、append = a.append のところがグローバル変数になって遅くなり、
その結果、高速化していなかったようです
428デフォルトの名無しさん
2022/07/20(水) 18:01:43.03ID:D9vTvaEa これの出所は概ね公式Wikiだけど、2が全盛期に書かれた物なので
https://wiki.python.org/moin/PythonSpeed#Take_advantage_of_interpreter_optimizations
属性を検索したり、インスタンスを紐付けてバウンドメソッドを返す様な
https://docs.python.org/ja/3.7/howto/descriptor.html#invoking-descriptors
こういった機構を回避するので多少速くなるけど、現行のPythonでは比較的小さい
ローカル変数がグローバル変数より読み書きが速いのも実際そう
>>426
型がないダックタイピングな以上は都度解決するしかないであろうなぁ…
https://wiki.python.org/moin/PythonSpeed#Take_advantage_of_interpreter_optimizations
属性を検索したり、インスタンスを紐付けてバウンドメソッドを返す様な
https://docs.python.org/ja/3.7/howto/descriptor.html#invoking-descriptors
こういった機構を回避するので多少速くなるけど、現行のPythonでは比較的小さい
ローカル変数がグローバル変数より読み書きが速いのも実際そう
>>426
型がないダックタイピングな以上は都度解決するしかないであろうなぁ…
429デフォルトの名無しさん
2022/07/20(水) 18:58:09.37ID:QlVkmKZp anaconda入れたけど、avastがなぜかウイルス扱いしていて、anaconda立ち上げるとすぐ落ちて使えなくて、あきらめてvscにした
430デフォルトの名無しさん
2022/07/20(水) 20:09:39.43ID:eRSlBPBh pythonで質問なんですがコンソールに表示される数値の横に量を表したバーを表示させたいのですが
300 ■■■
20 ■
150 ■■
ぐぐっても進捗率をあらわすプログレスバーのtqdmが出てきてしまいどうやって数字に連動した量を表示させるのかわかりません
何かヒントがあればお願いします
300 ■■■
20 ■
150 ■■
ぐぐっても進捗率をあらわすプログレスバーのtqdmが出てきてしまいどうやって数字に連動した量を表示させるのかわかりません
何かヒントがあればお願いします
431デフォルトの名無しさん
2022/07/20(水) 20:21:54.00ID:hglVd79x pbar.update(1) ←これの数字をいじる
432デフォルトの名無しさん
2022/07/20(水) 21:24:08.50ID:npea7ePl433デフォルトの名無しさん
2022/07/20(水) 22:26:00.73ID:rNnuNQ69 >>432
「tqdmが出てきてしまい」て書いてるので、静的に表示するだけだからtqdmは使いたくないのかと思った
静的に表示したい人用おもちゃ
def print_bar(n, max, expansion):
____box = "▏▎▍▌▋▊▉█"
____rate = (n * expansion * 100) // max
____bar = "" + box[7] * (rate//8) + box[rate%8]
____print(bar)
print_bar(50, 100, 1)
print_bar(55, 100, 1)
print_bar(100, 100, 1)
print_bar(100, 200, 1)
print_bar(100, 200, 3)
今書いた書いたらちゃんとテストしてない
「tqdmが出てきてしまい」て書いてるので、静的に表示するだけだからtqdmは使いたくないのかと思った
静的に表示したい人用おもちゃ
def print_bar(n, max, expansion):
____box = "▏▎▍▌▋▊▉█"
____rate = (n * expansion * 100) // max
____bar = "" + box[7] * (rate//8) + box[rate%8]
____print(bar)
print_bar(50, 100, 1)
print_bar(55, 100, 1)
print_bar(100, 100, 1)
print_bar(100, 200, 1)
print_bar(100, 200, 3)
今書いた書いたらちゃんとテストしてない
434デフォルトの名無しさん
2022/07/20(水) 22:32:08.75ID:rNnuNQ69435デフォルトの名無しさん
2022/07/20(水) 22:42:20.27ID:rNnuNQ69 def print_bar(n, max, expansion):
____box = "█ ▏▎▍▌▋▊▉"
____rate = (n * expansion * 100) // max
____bar = "" + box[0] * (rate//8)
____if rate%8 != 0:
________bar += box[rate%8]
____print(bar)
print_bar(0, 100, 1)
print_bar(1, 100, 1)
print_bar(2, 100, 1)
print_bar(3, 100, 1)
print_bar(4, 100, 1)
print_bar(5, 100, 1)
print_bar(6, 100, 1)
print_bar(7, 100, 1)
print_bar(8, 100, 1)
print_bar(50, 100, 1)
print_bar(55, 100, 1)
print_bar(100, 100, 1)
print_bar(100, 200, 1)
print_bar(100, 200, 3)
____box = "█ ▏▎▍▌▋▊▉"
____rate = (n * expansion * 100) // max
____bar = "" + box[0] * (rate//8)
____if rate%8 != 0:
________bar += box[rate%8]
____print(bar)
print_bar(0, 100, 1)
print_bar(1, 100, 1)
print_bar(2, 100, 1)
print_bar(3, 100, 1)
print_bar(4, 100, 1)
print_bar(5, 100, 1)
print_bar(6, 100, 1)
print_bar(7, 100, 1)
print_bar(8, 100, 1)
print_bar(50, 100, 1)
print_bar(55, 100, 1)
print_bar(100, 100, 1)
print_bar(100, 200, 1)
print_bar(100, 200, 3)
436デフォルトの名無しさん
2022/07/20(水) 22:53:43.67ID:JXXlHdvc Ruby on Rails なら、VSCode, WSL2, Vagrant, Virtual Box でも出来るけど、
Python は依存モジュールが多いから、Docker が普通
自宅ではじめるDocker入門[改訂版]、浅居 尚、2021/4
この本が最も簡単
Python は依存モジュールが多いから、Docker が普通
自宅ではじめるDocker入門[改訂版]、浅居 尚、2021/4
この本が最も簡単
437デフォルトの名無しさん
2022/07/20(水) 23:38:31.06ID:hOJNeZde438デフォルトの名無しさん
2022/07/20(水) 23:59:09.30ID:hOJNeZde >>436
Dockerの書籍でているのね、レビュー評価もメチャいいじゃん
でもネット上に公式?の日本語ドキュメントがあるからこれでいけるんじゃないかな??どうかな?w
ttps://matsuand.github.io/docs.docker.jp.onthefly/
ttps://docs.docker.jp/index.html
Dockerの書籍でているのね、レビュー評価もメチャいいじゃん
でもネット上に公式?の日本語ドキュメントがあるからこれでいけるんじゃないかな??どうかな?w
ttps://matsuand.github.io/docs.docker.jp.onthefly/
ttps://docs.docker.jp/index.html
439デフォルトの名無しさん
2022/07/21(木) 01:17:04.66ID:dz51dLzk >>437
値、開始位置、最大到達位置を表示しました
def print_bar(n, max, expansion):
____box = "█ ▏▎▍▌▋▊▉"
____rate = (n * expansion * 200) // max
____bar = "" + box[0] * (rate//8)
____if rate%8 != 0:
________bar += box[rate%8]
____print(f"{n:{len(str(max))}d} | {bar:{expansion*25}s} |\n")
print_bar(8, 100, 4)
print_bar(50, 100, 4)
print_bar(90, 100, 4)
print_bar(100, 100, 4)
値、開始位置、最大到達位置を表示しました
def print_bar(n, max, expansion):
____box = "█ ▏▎▍▌▋▊▉"
____rate = (n * expansion * 200) // max
____bar = "" + box[0] * (rate//8)
____if rate%8 != 0:
________bar += box[rate%8]
____print(f"{n:{len(str(max))}d} | {bar:{expansion*25}s} |\n")
print_bar(8, 100, 4)
print_bar(50, 100, 4)
print_bar(90, 100, 4)
print_bar(100, 100, 4)
440デフォルトの名無しさん
2022/07/21(木) 03:59:00.54ID:c34Fgnuj PythonでAI作り始めてから電気代が2000円以上高くなった
441デフォルトの名無しさん
2022/07/21(木) 08:50:46.37ID:nja0E+A7 >>439
すばらしい全部入っている! けども200とか25とかなんだろう?ああ小数点がイヤだから2倍しているのか
となったので、計算式が分かるようにした方が可読性とメンテナンス性があがると思いました
以下計算式を明示した改良版
import math
def print_bar(n, max, expansion):
____box = "█ ▏▎▍▌▋▊▉"
____rate = (n * expansion * 100) // max
____bar = "" + box[0] * (rate//8)
____if rate%8 != 0:
________bar += box[rate%8]
____print(f"{n:{len(str(max))}d} |{bar:{math.ceil(expansion*100/8)}s}|\n")
すばらしい全部入っている! けども200とか25とかなんだろう?ああ小数点がイヤだから2倍しているのか
となったので、計算式が分かるようにした方が可読性とメンテナンス性があがると思いました
以下計算式を明示した改良版
import math
def print_bar(n, max, expansion):
____box = "█ ▏▎▍▌▋▊▉"
____rate = (n * expansion * 100) // max
____bar = "" + box[0] * (rate//8)
____if rate%8 != 0:
________bar += box[rate%8]
____print(f"{n:{len(str(max))}d} |{bar:{math.ceil(expansion*100/8)}s}|\n")
442デフォルトの名無しさん
2022/07/21(木) 11:05:44.45ID:nja0E+A7 さらに良くなった
import math
def print_bar(n, max=100, expansion=1):
____box = "█ ▏▎▍▌▋▊▉"
____rate = (n * expansion * 100) // max
____bar = box[0] * (rate//8)
____if rate%8 != 0:
________bar += box[rate%8]
____print(f"{n:{len(str(max))}d} |{bar:{math.ceil(expansion*100/8)}s}|\n")
import math
def print_bar(n, max=100, expansion=1):
____box = "█ ▏▎▍▌▋▊▉"
____rate = (n * expansion * 100) // max
____bar = box[0] * (rate//8)
____if rate%8 != 0:
________bar += box[rate%8]
____print(f"{n:{len(str(max))}d} |{bar:{math.ceil(expansion*100/8)}s}|\n")
443デフォルトの名無しさん
2022/07/21(木) 19:29:07.60ID:dz51dLzk やっぱりmath.ceil使ったほうがいいよな
importを減らしたがる癖が抜けず2倍してしまった
importを減らしたがる癖が抜けず2倍してしまった
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【赤坂ライブハウス刺傷】逃走していた自衛官の男(43)を殺人未遂の疑いで逮捕 警視庁 被害女性とは知人関係 [Ailuropoda melanoleuca★]
- 【千葉】コンビニに尿入りペットボトル並べた疑い、26歳男「むしゃくしゃして」…購入した客が飲もうとしたところ臭いに違和感 [ぐれ★]
- 中国官製報道「日本経済はもう持たない」にネット民ツッコミ「ニュースだけ見てたら日本はもう百回くらい爆発してる」 [1ゲットロボ★]
- 植田日銀総裁 「円安進行が物価高を起こしている」 ★4 [お断り★]
- 【STARTO ENTERTAINMENT】timelesz、メンバーの不適切言動を謝罪「不用意かつモラルに反した発言であった」 全員の署名入りでコメント [Ailuropoda melanoleuca★]
- 【硬貨】500円だと思ったら「500ウォンが入っていた」価値は約10分の1 全国で飲食店などで“500ウォントラブル”相次いで報告 [ぐれ★]
- 【画像有り】ヘイトスピーチ系ネトウヨYouTuberのへずまりゅう、駐車中に大阪府警に職質される [718678614]
- 頭おかしいのに関わると精神病んでくるな
- え?お前らちん毛溜めてないの?
- AVって儲かるらしいけどすごくない?
- ハムエッグ派VSベーコンエッグ派
- 【神奈川新聞】「暇空茜」を県警追送検 [746833765]
