2ちゃんねる ■掲示板に戻る■ 全部 1- 最新50    

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
名前: E-mail (省略可) :

read.cgi ver 2014.07.20.01.SC 2014/07/20 D ★