Pythonのお勉強 Part72
- 1 :デフォルトの名無しさん :2023/12/27(水) 15:42:25.63 ID:sVIMH2iW0.net
- !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のソースコードを5ちゃんに直貼はインデントが崩壊するので、
↓等のコードうp用サイトに貼ってきてくだしあ。(スクリーンショットをうpる「横着」禁止)
ttps://techiedelight.com/compiler/ Run Code機能あり。
ttp://ideone.com/ デフォ設定がCなので、Pythonするには言語種選択ボタン押下がピコ手間かも。
ttp://pastebin.com/ まずまずシンプル。
ttp://dpaste.com/ とてもシンプル。消えるまでの日数は十分長ーく指定のこと。
◇Pythonオフィシャルサイト http://www.python.org/
◇Pythonドキュメント https://docs.python.org/ja/3/
◇まとめwiki ttp://python.rdy.jp/
※前スレ
Pythonのお勉強 Part71
https://mevius.5ch.net/test/read.cgi/tech/1695168821/
VIPQ2_EXTDAT: default:vvvvv:1000:512:: EXT was configured
- 703 :デフォルトの名無しさん (ワッチョイ bf05-8E7i):2024/04/17(水) 18:43:47.34 ID:O0zLY4aF0.net
- サポート切れOS使い続けるとかヤバい会社だな
- 704 :デフォルトの名無しさん (アウアウウー Sa1b-XTtg):2024/04/17(水) 18:47:05.38 ID:s7iaR2coa.net
- クローズドだからいいんじゃね
本当にクローズドならな
- 705 :デフォルトの名無しさん (ワッチョイ bf05-8E7i):2024/04/17(水) 18:49:19.36 ID:O0zLY4aF0.net
- ハード壊れたら替えが効かなくね?
- 706 :デフォルトの名無しさん (ワッチョイ b755-NpPm):2024/04/17(水) 18:50:11.63 ID:ZwjlmTP40.net
- FC98がいまだに使われてるこんな世の中じゃ~(´・ω・`)
- 707 :デフォルトの名無しさん (ワッチョイ bf05-8E7i):2024/04/17(水) 18:53:56.43 ID:O0zLY4aF0.net
- ファミリーコンピュータか
- 708 :デフォルトの名無しさん (ワッチョイ 3754-OTmL):2024/04/17(水) 18:58:29.65 ID:uf7XVbek0.net
- ベーシックマスターLv2が半導体製造装置の制御に使われてるの見た時はびびった
- 709 :デフォルトの名無しさん :2024/04/17(水) 22:30:39.86 ID:r05765r10.net
- 今のpcのスペックにwin95でSSDとかなら胸が熱くなるなw
30年前のOS動いてるのを観測するとちょっともう1回見たくなる
- 710 :デフォルトの名無しさん (ワッチョイ 777c-WF48):2024/04/18(木) 06:15:43.01 ID:9mBgHjTU0.net
- 大きな駅とかイベント会場に設置してある電子看板とか偶にシステムエラーでデスクトップ画面見えるけどWindows95とか多いからね
- 711 :デフォルトの名無しさん :2024/04/18(木) 07:31:12.82 ID:jzqsJQ8q0.net
- 嘘松乙
- 712 :デフォルトの名無しさん :2024/04/18(木) 11:23:16.44 ID:mnftgO6U0.net
- 顔検出のやつでこういうの見つけたんだけど
https://huggingface.co/Bingsu/adetailer
import cv2
from PIL import Image
img = "https://farm5.staticflickr.com/4139/4887614566_6b57ec4422_z.jpg"
output = model(img)
pred = output[0].plot()
pred = cv2.cvtColor(pred, cv2.COLOR_BGR2RGB)
pred = Image.fromarray(pred)
pred
これをどういじれば赤枠内をモザイク処理させることができる?
- 713 :デフォルトの名無しさん :2024/04/18(木) 11:56:44.51 ID:9mBgHjTU0.net
- デジタルサイネージ Windowsでググると面白いな
95 98 MEでまだ動いてるんだな
- 714 :デフォルトの名無しさん (ワッチョイ 3754-OTmL):2024/04/18(木) 16:04:34.98 ID:wmPSgIme0.net
- パチンコ屋のパネルはなんでぶっ壊れても直さないんだろうな
- 715 :デフォルトの名無しさん (ワッチョイ 97bb-LnrD):2024/04/18(木) 19:22:53.20 ID:BEill3hf0.net
- Windows95は起動してるだけで何もしてなくても1週間で落ちる(面倒なので原因は追求しなかった)
- 716 :デフォルトの名無しさん :2024/04/18(木) 22:21:46.29 ID:QMmLcupe0.net
- >>712
ここらへん使えばいいんじゃない
https://docs.ultralytics.com/modes/predict/#boxes
- 717 :デフォルトの名無しさん :2024/04/19(金) 12:25:22.62 ID:E/UPL6z30.net
- >>716
やってみる
- 718 :デフォルトの名無しさん :2024/04/22(月) 03:09:31.20 ID:W6CuBV210.net
- >>694
専ブラ動かすのにしか使ってないから実情知らんけど
JavaはLTS選べば長い方になるんじゃね
今からなら17
>>707
FC知らないのかガキめ
- 719 :デフォルトの名無しさん (ワッチョイ a779-208W):2024/04/28(日) 21:50:25.97 ID:zlR73q8o0.net
- スレ立てあらしスクリプト対抗age
- 720 :デフォルトの名無しさん :2024/04/28(日) 22:42:33.38 ID:V8geRx0h0.net
- 2chのシステムは今でもperlらしい
- 721 :デフォルトの名無しさん (ワッチョイ 0754-GuTi):2024/05/03(金) 08:05:13.76 ID:KC1xrygK0.net
- if a < b:
flag = True
else:
flag = False
は
flag = a < b
と書ける
圧倒的にすっきりするけど、なんか頭に入ってこなくなる
どっちがいいんだろ
- 722 :デフォルトの名無しさん (ワッチョイ c77c-mYO8):2024/05/03(金) 08:15:24.69 ID:+XfJbNI80.net
- 別にどっちでも良い
細かいことを気にし過ぎ
ただし頭に入ってこないってのは不味い
自分は書かなくても書かれてるコードを理解して頭に入る様にする必要はある
- 723 :デフォルトの名無しさん :2024/05/03(金) 09:02:12.97 ID:KC1xrygK0.net
- 理解できない訳はないけど
0.1秒で判るか0.5秒かかるかという話
- 724 :デフォルトの名無しさん :2024/05/03(金) 09:45:57.92 ID:+Wi8ddag0.net
- >>721
普通はどっちもダメ
単純な比較結果をフラグ化したりしない
- 725 :デフォルトの名無しさん :2024/05/03(金) 09:47:16.56 ID:KC1xrygK0.net
- そんなこと言ったらflagという名前も具体的でないのでNG
- 726 :デフォルトの名無しさん :2024/05/03(金) 09:55:16.59 ID:NFxQvANq0.net
- >>721
現実に前者を書くことは無いような気がする。大抵は、
if a < b:
flag = 'hinomaru'
else:
flag = 'union jack'
みたいな使い方でしょ。
a < b の評価値を保存したい場合は、自然と後者になるように思う。
- 727 :デフォルトの名無しさん :2024/05/03(金) 10:18:26.60 ID:2ylfI8qb0.net
- filled = bool(count == limit)
みたいにbool()使ってたな
Pythonのand/orはbool返さない場合あるし
- 728 :デフォルトの名無しさん :2024/05/03(金) 10:44:25.52 ID:00No5FFk0.net
- 霊感的には、それは、
(flag = a) < b と解釈させたら、
flagがtrueかfalseにより動作が
違くなるような気がする。というか
flag ← (a < b) って感じで
ゼッタイ何時でもπソンは解釈するのだろうか。
- 729 :デフォルトの名無しさん :2024/05/03(金) 11:24:56.50 ID:+XfJbNI80.net
- お前はスタックを理解しろw
- 730 :デフォルトの名無しさん :2024/05/03(金) 11:25:32.60 ID:qpubnZou0.net
- flag = True if a < b else False
flagの代入以外に副作用ないならまずこう書くけど
flag = a < b
でいいやんとなる
- 731 :デフォルトの名無しさん :2024/05/03(金) 12:16:12.11 ID:zLu7Yc6Y0.net
- >>728
>(flag = a) < b と解釈させたら
Pythonの場合はflag=aがstatementで値を返さないのでそういう解釈をさせることができない
(flag=a)だけでもassignment statementの文法に反してるからエラー
(flag := a > b)と(flag :=a) > bでflagの値が変わる
前者が後者のように評価されないのは演算子の優先順位で決まってるから
- 732 :デフォルトの名無しさん :2024/05/03(金) 12:35:34.78 ID:zLu7Yc6Y0.net
- >>726
>a < b の評価値を保存したい場合は、自然と後者になるように思う。
boolを返すa < b を保存するのが妥当な場合ってどんな用途を想定してるの?
・a < bの処理にそれなりの時間がかかる
・a < bの結果を繰り返し使う
・比較演算子がbool値を返す
・関数ではなく演算子を使うのが妥当
俺は↑これを全部満たすような用途は思いつかない
いずれにしろflagを使うほうのコードも含めて考えたほうがいいように思う
- 733 :デフォルトの名無しさん :2024/05/03(金) 14:19:35.34 ID:0hyuTkzX0.net
- >>732
・a, b の値が変わる
- 734 :デフォルトの名無しさん :2024/05/03(金) 17:28:19.15 ID:NFxQvANq0.net
- >>732
> ・a < bの結果を繰り返し使う
繰り返しというか、後で使いたいのだろうな。
a と b 各1ワードを保存できる余裕はないけれど、評価結果 1ビットなら64個保存できる! みたいな。いつの時代の話だよ...
- 735 :デフォルトの名無しさん :2024/05/03(金) 17:45:12.16 ID:KC1xrygK0.net
- 元は、後でif文で使う条件が複数あって、最初Falseで初期化して、
一つでも成立したらTrueにして、みたいな処理になってた
で、いろいろリファクタリングしてる途中で、>>721みたいな変形があった
最終的には条件が1つになったのでそのままif文に入れた
- 736 :デフォルトの名無しさん :2024/05/03(金) 17:48:22.14 ID:qpubnZou0.net
- a, bが不変であっても
変数化することでコードの見通しがよくなるなら
情報が冗長になってもそうする
現実ではしないflagって命名に囚われてそう
- 737 :デフォルトの名無しさん (ワッチョイ ff01-suKS):2024/05/03(金) 18:47:29.14 ID:fvsAZQpp0.net
- >>735
それは条件が複数あったとしても条件式部分を関数化して関数内で早期リターンするパターン
- 738 :デフォルトの名無しさん (ワッチョイ 0754-GuTi):2024/05/03(金) 18:56:00.35 ID:KC1xrygK0.net
- forの中でアーリーcontinueとか、関数からアーリーreturnは便利に使うけど、
抜ける先が無くてアーリーなんやらできないと困る
関数内関数はなんか読みにくいし
- 739 :デフォルトの名無しさん :2024/05/05(日) 11:44:12.57 ID:yE3a1mT70.net
- 735みたいに、コードの詳細がわからないのにこう書くべきって決めつけてくる人ってなんでなのかな
理想的なケースでは切り出しやすくても、泥臭いケースだと切り出しても見通し悪くなるだけ、みたいなこと
よくあるのに
- 740 :デフォルトの名無しさん :2024/05/05(日) 12:25:14.46 ID:RstXWqFu0.net
- >>739
話題の発端の人だろ、 >>735 は。
- 741 :デフォルトの名無しさん :2024/05/05(日) 12:59:39.57 ID:JJQb3/s80.net
- 仕様書を書いてないから、条件分岐の意味がわからなくなるんだよ。
- 742 :デフォルトの名無しさん (ワッチョイ a3e3-s5QI):2024/05/05(日) 14:54:59.47 ID:yE3a1mT70.net
- >>739
>>740
ごめん、まちがえた。737だった。735すまん。
- 743 :デフォルトの名無しさん (ワッチョイ 7b9c-eKo6):2024/05/05(日) 15:18:19.04 ID:WQY729Fe0.net
- コードを出さないと負け惜しみにしか聞こえないぞ
- 744 :デフォルトの名無しさん :2024/05/05(日) 15:58:54.36 ID:6HiO/5pi0.net
- 3重ループの人でしょ
https://mevius.5ch.net/test/read.cgi/tech/1689241721/439
- 745 :デフォルトの名無しさん :2024/05/05(日) 20:26:20.99 ID:pt4LeM/F0.net
- numpyのバージョンアップは怖い
- 746 :デフォルトの名無しさん :2024/05/06(月) 00:41:49.83 ID:wa+Bl7jf0.net
- どんぐりレベルが足りなくてかけない
- 747 ::2024/05/06(月) 00:42:30.89 ID:wa+Bl7jf0.net
- レベルアップしたのか
- 748 :デフォルトの名無しさん :2024/05/06(月) 11:03:33.16 ID:poYagYhe0.net
- たくさんのファイルを3ステップで加工したい
一つずつやると時間かかるので、並列処理させる
全ファイルをステップ1処理 -> 全ファイルをステップ2処理、という感じ
それでかなりスピードアップはするけど、
ステップの継ぎ目部分で全体の完了を待つのが無駄
全体は待たずにファイル毎にどんどん先に進む並列処理を
簡単に書くモジュールある?
- 749 :デフォルトの名無しさん :2024/05/06(月) 11:41:41.15 ID:6LmmIky40.net
- >>748
処理がファイル間で独立しているならmultiprocessingモジュール
Unix環境ならxargsコマンドで足りる話にみえるけど
- 750 :デフォルトの名無しさん :2024/05/06(月) 11:45:32.98 ID:6LmmIky40.net
- concurrent.futuresモジュールのが書きやすいかもしれん
どっちも見てみて
- 751 :デフォルトの名無しさん :2024/05/06(月) 12:28:01.25 ID:poYagYhe0.net
- あんまりいいサンプルが見つからない
キモは、プロセスの実行に条件があるという点
file1-step1が完了してないとfile1-step2は実行できない
必要なプロセスを全部登録して実行させるとそんなことは考慮されないので、
どのプロセスが実行可能か依存関係を教えてやらないといけない
- 752 :デフォルトの名無しさん :2024/05/06(月) 13:02:05.97 ID:6LmmIky40.net
- モジュール使う分には単純だから公式ドキュメント読んで
https://docs.python.org/ja/3/library/multiprocessing.html
https://docs.python.org/ja/3/library/concurrent.futures.html
それでファイル単位に並列にして
ファイルを引数にstep1/step2を関数化したら後は呼ぶだけよ
あるいは外部コマンド化して
cat paths | xargs -IZ -P $(nproc) sh -c 'step1.py Z; step2.py Z'
186 KB
新着レスの表示
掲示板に戻る
全部
前100
次100
最新50
read.cgi ver 2014.07.20.01.SC 2014/07/20 D ★