Pythonのお勉強 Part72
!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 /\ / ヽ\ / ヽ \ / \ / ヽ \__ / ヽ \ / ‐_ ヽ ―――__/ ヽ \ /  ̄ / __ ヽ \ |  ̄ \ | | | || | | ゝ_ |||/ | | ( ・ ブ ゝ__ ┃ ┃ | |  ̄ ( ・ ̄ ̄ ブ ┛ ┗ | | ゝ__ ノ ━┓ ┏ | ┃ ┃ | __  ̄ ┃ | ┃ ┃ | | ̄ ̄ーヽ | ┃ ┃ | | ヽ | | | |ヽ | ━┓ \ _⊥_ | | ┃┛ \  ̄ ̄ヽ_⊥ | \ | ┏━┓ \ / ┏┛ \ / ・ | | | \ / \ / \ コンピュータ英語ってありきたりな表現しかないし翻訳の精度も悪くない そのドメインの基礎知識が足りないだけじゃ >>642 日本人でも読み書きは普通に出来るし得意な奴は多いぞ 日本人が苦手なのは聴くと話すな訳で… >>642 大卒なら普通に読めるだろ 読めないってのは大学受験してないか 推薦でしたといってるようなもんだぞ 恥ずかしいから言わないほうが良いぞ 翻訳で「パンダ」って出てきても動物の方じゃないことは分かるしな >>647 Twitterとかでも英語わかんないとか言ってる奴いてお察し その発言自体がやばいと認識できてない それなりの大学に行ってるやつは英語ができるのが当たり前という意識がない 文系なら言わずもがな 理系でもセンターで英語はやる 英語を捨てて受かる大学などない テストでちゃんと実力は判るので問題なし 英会話はできないけど、それは論文読むのに不要 やりたい人は個人的に駅前留学で 駅前のハワイでおしぼりポンと抜いて シコシコピュしてもらって英語もばっちり なわけない 実際、read/writeとlisten/speakだと役に立つ度合いは圧倒的にR側だと思う toeicだとLも同じ比重でテストされるので、ちょっと特訓するとスコアどんどん上がる Rのスコアはもう上がらない お前らスレ違いの話を、下手くそな日本語でずっとしているな 普通に喋れて外資系の会社で海外メンバーとコミュニケーション取りながら働けたら給料余裕で一千万円越えるから エンジニアとして並レベルでもな Pythonの検定てとっておいた方が良いです? 受かれば会社から補助は出るので金銭負担は実質ないけど pythonそのものは1日もあれば理解できるけど、 各モジュールの使いこなしは1年経っても途上 どのモジュールが必要かも判らない状態で一律に検定できる訳がない 会社はそれで営業力上がるんだから取ってあげればいい brew経由でアップデートしたら、急に仮想環境じゃないとパッケージをインストールできないとか >>663 brewで直接導入できるpythonは他パッケージも使うものだから システム部分をカスタマイズする使い方は避けたほうがいい やるならpyenv等で独自に導入する >>665 3.11までは問題なかったんだけど PEP 668 とかいうので急に。 anacondaもプラン登録とかめんどくさそうなので、pyenvが良いですかね。色々乱立しすぎて辛い。 pythonの環境構築は色々ありすぎるな(´・ω・`) 嫌々pyenvにしたら、普通には使えるもののjupyterからは!which pythonでpyenvのものが参照されるのに、python自体はmacのdevtoolの3.9を参照してたり、まじで意味がわからない。macもpythonもセキュアにしようと思ってるのか厳しくなり過ぎじゃないの。 もう嫌になってシステムのpythonにインストールしようとしたら、インストールできないパッケージもあり頓挫。環境構築がつらすぎる。 >>668 JupyterでつかうPythonはJupyterのカーネル設定で行う !はシェルの結果なので関係ない そこは昔から変わってない jupyterのカーネル設定で、なぜか新しいのが認識されない。消した古いのpyenvを延々に参照したりしてる。minicondaもパスが自動で通ったり通らなかったり、プログラミング以外の部分があまりに辛すぎ。こりゃ大学もcolabになるわ。。。 >>670 docker使えよ なんで生で使ってるんだ venvも現在のpython環境との依存があるから大して便利でもない pythonの環境作るのにpythonが必要な時点でナンセンスなんだよ pythonのバージョンをとっかえひっかえして使いたい人にとってはそうなのかもしれんが 俺はあんまり気にならんな Linux のローカル開発なら、Docker を使うのが簡単だが、 日本人が作った、多言語バージョンマネージャーのanyenv で、rbenv, nodenv も使える。 pyenv も同様。 asdf でも、多言語の好みのバージョンを入れられる echo $(anyenv root) ただし、$ANYENV_ROOT は定義されていない /home/ユーザー名/.anyenv echo $(rbenv root) echo "$RBENV_ROOT" /home/ユーザー名/.anyenv/envs/rbenv echo $(nodenv root) echo "$NODENV_ROOT" /home/ユーザー名/.anyenv/envs/nodenv システムに最初から入っているバージョンをいじってはならない! 他のアプリがシステムバージョンを使っているから、 それを変更すると、多くのアプリが動かなくなる だから開発環境は、自分だけのユーザー環境以下の /home/ユーザー名/.anyenv 以下に入れる システムバージョンは、 file `which python`, file `which python2`, file `which python3` で確認できる。 /usr/bin/python, /usr/bin/python2, /usr/bin/python3 など pythonの仮想環境とやらがよくわからない こいつら裏で何してんの? 単に特定のディレクトリに別のpythonをインストールしてるだけ 使う時は環境変数を切り替えてそのディレクトリを参照するようにしてる >>680 pythonは3.8、3.9、3.10、3.11と無限にバイナリを変える方針になったから もうそれじゃ無理なんよ 完全に破綻する >>684 サポート切れとかでもない限りユーザーが必要なバージョンを使い続ける形でなんの問題もない 読みができるなら、自動翻訳が正しいかチェックできるので、書けるのと同じ >>686 サポートがすぐ切れるのがpythonのモジュールの特徴 パッケージなら自分が困るような不具合が見つかるかauditで指摘が上がるまで使い続けるかな 一生懸命最新バージョンを追いかけるモチベもないし そんなマイナーパッケージを使う方が悪いし、そもそもPythonとは関係ないだろw 普通に関係あるでしょ Pythonのライブラリは古いバージョン対するサポート期間よりも 新しいバージョンへの対応がめちゃくちゃ遅いほうが問題 メジャーなライブラリでも3.12対応してないものまだまだある どんなプログラミング言語でもあることだし、使いたいライブラリに合わせてPythonのバージョンを選ぶくらい普通のことでは JavaみたいにEOLまでの期間がめちゃくちゃ短いならわかるけど、 3.9ですらあと1年以上あるでしょ そもそもOSSにそこまで期待してもねえ 金払って作らせてるならともかく 3.12を使わなければならない理由があるの?あるのだとしたら自分で直すぐらいの気概でいる必要があるのでは pythonで顔を検出してモザイクかけるのができるのなら 陰部に自動でモザイクかけることもできる? というかそういうソフトってあるの? >>695 陰部がそのままなら難しくは無い だけどオモチャだったりプレイだったりすると判定が難しい まあ顔もそうでしょ パーティグッズみたいなの付けてたら判定難しいのと同じ >>694 メジャーなライブラリが言語の新バージョンに対応するのに 半年〜1年かかるのが常態化してるのはPythonだけ Java、C#、Go、Swift、Ruby、JavaScript、PHPあたりではなかなか見ない 3.9は去年の10月でSPEC 0のサポートが切れてるから特別な事情がない限り選択肢としては無い Numpyとかでも既に落とされてる 言語の公式サポートは5年と長いけど ライブラリの関係で実質サポートは2年〜2年半程度と短いのが実状 >>696 プレイは難しいか… Inpaint-Anythingみたいなので頑張るしかないのな… 手動はもう嫌だ… >>694 JavaよりPythonのほうがランタイムのEOL短くね? 来年のEOLでどう更新するか既に頭痛いぞ お前らそんな事気にしてるのか? 客先でWindows95でVB5で動くシステムが現役で今でもメンテと追加機能開発が普通に有るんだぞ ちなみその客は大手チェーン店で件のシステムがインスコされてるPCが5万台だぞ クローズドだからいいんじゃね 本当にクローズドならな FC98がいまだに使われてるこんな世の中じゃ~(´・ω・`) ベーシックマスターLv2が半導体製造装置の制御に使われてるの見た時はびびった 今のpcのスペックにwin95でSSDとかなら胸が熱くなるなw 30年前のOS動いてるのを観測するとちょっともう1回見たくなる 大きな駅とかイベント会場に設置してある電子看板とか偶にシステムエラーでデスクトップ画面見えるけどWindows95とか多いからね 顔検出のやつでこういうの見つけたんだけど 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 これをどういじれば赤枠内をモザイク処理させることができる? デジタルサイネージ Windowsでググると面白いな 95 98 MEでまだ動いてるんだな パチンコ屋のパネルはなんでぶっ壊れても直さないんだろうな Windows95は起動してるだけで何もしてなくても1週間で落ちる(面倒なので原因は追求しなかった) >>694 専ブラ動かすのにしか使ってないから実情知らんけど JavaはLTS選べば長い方になるんじゃね 今からなら17 >>707 FC知らないのかガキめ if a < b: flag = True else: flag = False は flag = a < b と書ける 圧倒的にすっきりするけど、なんか頭に入ってこなくなる どっちがいいんだろ 別にどっちでも良い 細かいことを気にし過ぎ ただし頭に入ってこないってのは不味い 自分は書かなくても書かれてるコードを理解して頭に入る様にする必要はある 理解できない訳はないけど 0.1秒で判るか0.5秒かかるかという話 >>721 普通はどっちもダメ 単純な比較結果をフラグ化したりしない そんなこと言ったらflagという名前も具体的でないのでNG >>721 現実に前者を書くことは無いような気がする。大抵は、 if a < b: flag = 'hinomaru' else: flag = 'union jack' みたいな使い方でしょ。 a < b の評価値を保存したい場合は、自然と後者になるように思う。 filled = bool(count == limit) みたいにbool()使ってたな Pythonのand/orはbool返さない場合あるし 霊感的には、それは、 (flag = a) < b と解釈させたら、 flagがtrueかfalseにより動作が 違くなるような気がする。というか flag ← (a < b) って感じで ゼッタイ何時でもπソンは解釈するのだろうか。 flag = True if a < b else False flagの代入以外に副作用ないならまずこう書くけど flag = a < b でいいやんとなる >>728 >(flag = a) < b と解釈させたら Pythonの場合はflag=aがstatementで値を返さないのでそういう解釈をさせることができない (flag=a)だけでもassignment statementの文法に反してるからエラー (flag := a > b)と(flag :=a) > bでflagの値が変わる 前者が後者のように評価されないのは演算子の優先順位で決まってるから >>726 >a < b の評価値を保存したい場合は、自然と後者になるように思う。 boolを返すa < b を保存するのが妥当な場合ってどんな用途を想定してるの? ・a < bの処理にそれなりの時間がかかる ・a < bの結果を繰り返し使う ・比較演算子がbool値を返す ・関数ではなく演算子を使うのが妥当 俺は↑これを全部満たすような用途は思いつかない いずれにしろflagを使うほうのコードも含めて考えたほうがいいように思う >>732 > ・a < bの結果を繰り返し使う 繰り返しというか、後で使いたいのだろうな。 a と b 各1ワードを保存できる余裕はないけれど、評価結果 1ビットなら64個保存できる! みたいな。いつの時代の話だよ... 元は、後でif文で使う条件が複数あって、最初Falseで初期化して、 一つでも成立したらTrueにして、みたいな処理になってた で、いろいろリファクタリングしてる途中で、>>721 みたいな変形があった 最終的には条件が1つになったのでそのままif文に入れた a, bが不変であっても 変数化することでコードの見通しがよくなるなら 情報が冗長になってもそうする 現実ではしないflagって命名に囚われてそう >>735 それは条件が複数あったとしても条件式部分を関数化して関数内で早期リターンするパターン forの中でアーリーcontinueとか、関数からアーリーreturnは便利に使うけど、 抜ける先が無くてアーリーなんやらできないと困る 関数内関数はなんか読みにくいし 735みたいに、コードの詳細がわからないのにこう書くべきって決めつけてくる人ってなんでなのかな 理想的なケースでは切り出しやすくても、泥臭いケースだと切り出しても見通し悪くなるだけ、みたいなこと よくあるのに >>739 話題の発端の人だろ、 >>735 は。 仕様書を書いてないから、条件分岐の意味がわからなくなるんだよ。 >>739 >>740 ごめん、まちがえた。737だった。735すまん。 read.cgi ver 07.5.1 2024/04/28 Walang Kapalit ★ | Donguri System Team 5ちゃんねる