Pythonのお勉強 Part75

レス数が1000を超えています。これ以上書き込みはできません。
2025/04/04(金) 01:47:04.18ID:UMpXJcmx0
!extend:default:vvvvv:1000:1024
!extend:default:vvvvv:1000:1024

↑スレ立てる毎に減るので、減ってたら3つに補充すること。

※前スレ
Pythonのお勉強 Part74
https://mevius.5ch.net/test/read.cgi/tech/1726881242/
VIPQ2_EXTDAT: default:vvvvv:1000:512:: EXT was configured
VIPQ2_EXTDAT: default:vvvvv:1000:512:: EXT was configured
952デフォルトの名無しさん (ワッチョイ 434b-WB9C)
垢版 |
2025/10/03(金) 00:35:09.39ID:uqAY2LHy0
あいつそんなに気難しいの?
2025/10/03(金) 05:24:02.13ID:9AR6VaZy0
もう別環境にして分散コンピューティングするしかないよね
2025/10/03(金) 07:20:10.06ID:XgAujD0S0
numpyはなんか独自の文化だよな
でも換えが効かない
955デフォルトの名無しさん (ワッチョイ 235d-Yz6d)
垢版 |
2025/10/03(金) 12:36:03.67ID:44h+Lrr50
PYTHON
★ボイス・トォ・スカル書士していたと思われていたものが続々とニュースになっている!
★ボイス・トォ・スカルでニュースにすると話していたが正しく本物!


【兵庫】「近々、刑事処分が……」斎藤元彦兵庫県知事が会見で“いら立ち”のウラに検察の動きと「追加告発」 [ぐれ★]
2025/10/02(木) 22:36:49.67
https://asahi.5ch.net/test/read.cgi/newsplus/1759412209/
JR東海に排除措置命令へ 談合、建設コンサル5社に課徴金 [蚤の市★]
2025/10/03(金) 07:12:48.03
https://asahi.5ch.net/test/read.cgi/newsplus/1759443168/

小泉進次郎氏 最後の討論会でもステマ問題問われる 「知らなかったとはいえ…」釈明繰り返す [少考さん★]
2025/10/02(木) 22:35:35.25
https://asahi.5ch.net/test/read.cgi/newsplus/1759412135/

アベノマスク、国が関連文書700ページを開示 当初は「保有していない」と主張  上脇教授 [少考さん★]
2025/09/29(月) 19:07:39.83
https://asahi.5ch.net/test/read.cgi/newsplus/1759140459/
>>6月の地裁判決は「作成されなかったとは考えがたい」と指摘。その後の国の調査で、今回の開示文書が見つかったという。
★国家を挙げて何をしているのか!

「平均年収1460万円で納税の対象外」「年の半分が休暇」 ホームタウン構想で抗議殺到JICAの在外職員は超好待遇だった! ★2 [おっさん友の会★]
2025/10/02(木) 09:18:24.89
https://asahi.5ch.net/test/read.cgi/newsplus/1759364304/
※二文も国家をあげて犯罪組織の旗印?
【自民総裁選】比較企業献金、5候補「公開」主張 裏金議員起用も否定せず [蚤の市★]
2025/10/03(金) 07:46:45.80
https://asahi.5ch.net/test/read.cgi/newsplus/1759445205/
956デフォルトの名無しさん (ワッチョイ 235d-Yz6d)
垢版 |
2025/10/03(金) 15:38:22.90ID:44h+Lrr50
PYTHON嘘を無抜く

顔の動きから思考を読み取る、マウスの「心を読む」ことに成功
公開: 2025-10-03 08:00
https://karapaia.com/archives/554632.html

・殺人グループのボイス・トォ・スカルをしている者を発見できる!
・特殊詐欺に使用できる
・占い師の話術が向上する
2025/10/03(金) 19:46:15.35ID:1oQXd5ev0
2行n列の配列があって、使いにくいので転置したかった
転置のやり方はいろいろあるけど、
zip(*array)
これがエレガントだった
エレガント過ぎて何してるのか判らん
2025/10/03(金) 22:17:07.02ID:DAeJjve8M
何をしてるかわからんコードをエレガントだと思うのは全くエレガントじゃないな
2025/10/03(金) 22:38:05.98ID:1oQXd5ev0
こんな風に理解できない人がいるだろうなという懸念
2025/10/03(金) 23:23:20.38ID:aZVU66UK0
いやー、一応理解しているつもりでも、zipとか * はかなり頭こんがらがるけどなぁ。
zip( *array )は、arrayがiterableのiterable(たとえば、[ [1, 2, 3, 4, 5], [6, 7, 8, 6, 10 ] ])だとすると、① * によるiterable unpacking によりarrayは2つのiterable の並び([1, 2, 3, 4, 5], [6, 7, 8, 9, 10 ] )へと展開される。② 組み込み関数zip は、引数として与えられた複数のiterable から並行的に要素を取得して作ったtuple を逐次的に返すgeneratorを返す((1,6), (2, 7), (3, 8), (4, 9), (5, 10) を逐次的に返すgeneratorを返す)……ってことよね。
さらに添字参照とかsum とかと組み合わせるようなケースだともっと大変。
961デフォルトの名無しさん (ワッチョイ 05f2-ebMX)
垢版 |
2025/10/04(土) 02:20:54.79ID:1nnmOYkp0
なんかzshみたいな漢字科
2025/10/04(土) 10:53:29.11ID:lfhYKLud0
printはPytnon3になるときに文から関数になったってことだけど、assert とか raise とかは文のまま。関数にすると余計なオーバーヘッドが生じてしまうとかそういう理由なのかな。
963デフォルトの名無しさん (ワッチョイ 1b03-TYAr)
垢版 |
2025/10/04(土) 11:13:46.38ID:Dyjoms350
assertやraiseはそもそも関数にできるんかい?
2025/10/04(土) 11:24:37.65ID:Lrd6UCHyM
>>962
raiseはプリミティブな操作だから
raiseが関数だったとして、じゃあraise関数をどうやって実装する?
結局Pythonのインタプリタに直接組み込むしかないだろう。だから意味がない。
assertについては、assertを無効にする場合は式の評価自体を飛ばさなければならない。そんなことは普通の関数では実現できない。
2025/10/04(土) 13:03:57.65ID:lfhYKLud0
>>964で指摘されている点は、インタプリタ上で特別扱いしないと対応できない(通常の関数の枠内では処理できない)というのは分かるんだけど、逆にいうと、インタプリタが特別扱いをするのであれば、関数呼び出しのインターフェイスをすることもできなくはないわけでしょう。
assert文の2つ目の式にAssertionErrorに渡す引数を指定するという構文は直感的に分かりにくいなと以前から思っていて、仮に関数呼び出しのインターフェースで呼べるならそんなに違和感ないなとちょっと思っただけ。積極的にそうした方がいいとかそうすべきと主張するつもりはないよ。
2025/10/04(土) 13:49:26.07ID:Lrd6UCHyM
>>965
Pythonだと通常の関数呼び出しになってたら特別扱いは難しい
別のraise関数が定義されてるかもしれないからな
じゃあraiseという名前だけをキーワードとして特別扱いするか?それraise文と何が違うの?
ってこと
2025/10/04(土) 14:08:02.28ID:lfhYKLud0
仮に特別扱いするなら、raise を一種のキーワードとすることになるんだろうね。raise文との違いは構文。もともとraise文の構文ってちょっと分かりにくくないかというのが元の発想だからね。
どちらかというと、raise文の構文は直感的にちょっと分かりにくいので関数呼び出し風の構文糖があったら良かったのに……という方が言いたいことに近いかもしれない。
2025/10/04(土) 14:18:48.32ID:ZS4Jz9di0
そんな形式上のものはシンタックスシュガーでどうにでもなる
2025/10/04(土) 15:12:23.29ID:cv59dmAz0
仮にraiseを関数化するとしたらビルトイン関数になるわけでキーワードとして特別扱いするのとは違う
ビルトイン関数を別のraise関数で上書きしたならその時の動作は上書きした人が責任を持てばいい

ただraiseとassertを同じカテゴリで話すのはどうかと思う
raiseはreturn, break, continue, yieldなどと同じcontrol flow statementなので通常関数とは別のカテゴリとして扱うのが言語を使う側にとっても作る側にとっても自然かつ楽

raiseと違いassertはprintなどと同じでビルトイン関数のほうが使う側には自然
コンパイラを改良する労力をかけたくなかったからステートメントのままなんだと思う
2025/10/04(土) 15:56:42.08ID:lfhYKLud0
assert と raise とで区別すべきというのは同感(>>967ではボケていてraiseって書いちゃっているけど、965に書いたとおりこの話は基本的にはassertを想定している)。
ビルトイン関数にするかキーワードにするかというのは正直そんなに意識はしていなかったかな。仮にビルトイン関数にするとしても通常の関数とは異なりインタプリタによる特別扱いが必要なら、いっそキーワードにしてしまう方が簡単なような気もするけど、まぁ、どちらでも良いのかなと。
Pytnonの場合、yieldのような前例があるから同じ構文の中の一定の場合だけを特別扱いするということに比較的抵抗がない文化なのかなとも思うけど、assert に関しては文のままでいい(処理系に手を入れてまで関数っぽいインターフェイスを提供する必要はない)というのが現時点までの開発陣の判断ということよね。個人的にはちょっと残念だけど、まぁ仕方ないのかなとは思う。
2025/10/04(土) 16:09:30.50ID:ZS4Jz9di0
raiseのノリでexitと書いて何故か終わらない
2025/10/04(土) 17:51:28.50ID:cv59dmAz0
>>970
今後の拡張でコンパイラが利用可能なアノテーションを関数に付与できるような仕組みでもできればそれを活用してassertを関数化する可能性は個人的には十分あると思う

逆にassertだけのためにそういう仕組みを追加したり内部的にもassertという名前縛りで関数呼び出し箇所のbytecodeを出力しないようにする変更は費用対効果的にまずないと思う
2025/10/04(土) 19:23:00.85ID:MKE3mvtR0
まぁ、yield と assert とでは色々違うもんね。
974デフォルトの名無しさん (ワッチョイ ae60-9taF)
垢版 |
2025/10/05(日) 05:42:31.29ID:Wx5pDard0
仮想環境をゴリゴリ作るという観点からanacondaは優秀だと思う。
それ以外は…
975デフォルトの名無しさん (オッペケ Sr75-SPhl)
垢版 |
2025/10/05(日) 07:52:01.85ID:75RY5Ni2r
俺はminiconda
976デフォルトの名無しさん (ワッチョイ ae02-GsXg)
垢版 |
2025/10/05(日) 08:44:09.44ID:/6a5ZxIp0
時代はUV何ですよ!!(´・ω・`)
2025/10/05(日) 09:26:26.39ID:DxOKijn50
>>974
もうuvがいいぞ
2025/10/08(水) 06:55:25.58ID:lcCd82qT0
ファイル削除にimport osとかするのがなんか抵抗あったけど、
pathlib使ってるならp.unlink()で良かったんだな
979デフォルトの名無しさん (ワッチョイ 05f9-lCgs)
垢版 |
2025/10/08(水) 13:40:49.01ID:XrXXkqZa0
unlinkって名前わかりにくい気がするけどそういうもんなんかな
2025/10/08(水) 13:48:26.60ID:lcCd82qT0
deleteとremoveの違い
deleteするとなくなってしまうけど、removeは消えるだけで実体はある
unlinkはもっと明示的にいつでも復活できそう
981デフォルトの名無しさん (ワッチョイ 762a-8Ckq)
垢版 |
2025/10/08(水) 14:07:17.26ID:UyQ1K/rS0
>>978
なぜ
import os に抵抗があって
import pathlib には無いの?
2025/10/08(水) 14:17:47.05ID:lcCd82qT0
pathlibは神ライブラリだから
openするだけだとしてもPathオブジェクトにしとくと後々役に立つ
2025/10/08(水) 20:10:03.79ID:PPRPrFFf0
>>980
>>982はまだ個人の感想だけど平然とウソ書いてくるのがこわい
AIさんかな
2025/10/08(水) 21:22:40.69ID:a5q/Ytzw0
スラッシュで文字列とPath結合できるの好き
2025/10/08(水) 21:27:24.89ID:lcCd82qT0
パスを文字列で持つこと自体が恐らくアンチパターン
2025/10/08(水) 23:11:40.46ID:DEFvJ9Zk0
ファイル操作が多い場合にはpathlibが便利なのかなとは思うんだけど、そもそもファイル操作自体あまりしないから、いつもpath =r'...' みたいな感じで文字列にしちゃっているわ。
2025/10/08(水) 23:14:49.71ID:lcCd82qT0
読み込む用のファイルがあって、拡張子だけ変えたいとか、
ファイル名の部分に-oldと付けたいとか、別のディレクトリに同じ名前でコピーしたいとか、
そういう操作を正規表現とか駆使しながら頑張って文字列操作するのは、
めんどくさいし読みにくいしバグる
人間がやるべきではない
2025/10/09(木) 00:23:35.01ID:YJJHW0Xm0
そういう処理が必要になったら、その時点で検討するって感じかな。もちろん、パスならとりあえずPathオブジェクトにしとけっていう流儀もあると思うけどね。
2025/10/09(木) 22:53:20.67ID:QQVMS2V+0
言ってしまえば「動けばよい」「分かればよい」だと思うが
扱おうとしているものを扱うための機能があるのなら、
それは使ってみたいじゃないの
990デフォルトの名無しさん (ワッチョイ 716e-5Sj8)
垢版 |
2025/10/14(火) 05:03:55.10ID:CT5W8cc20
ゲームの中でコーディング・実行するんじゃなく
VSCodeからコーディング・実行するようなのないの?
Turtle的な

Steamで20% OFF:農家は Replace() されました
https://store.steampowered.com/app/2060160/_Replace/
2025/10/14(火) 12:39:23.72ID:QgKXwP6qM
外部エディタで変更すると自動反映するって書いてあるぞ
2025/10/14(火) 22:11:58.01ID:BWpaqpg00
ライブラリ追加できない環境でpdf読みたいので、
仕方なく構造調べてるけど複雑すぎる
993デフォルトの名無しさん (ワッチョイ c940-pEGx)
垢版 |
2025/10/16(木) 01:35:31.23ID:b1XJiiUu0
新たにpy installなんてコマンドができてそれで管理というが
使いやすいものかどうか
uvが流行ってるの見て乗ってきたのか

でもこれでライブラリ間のバージョンコンフリクト防げるかどうかには特にまだ情報が無かったなあ
994デフォルトの名無しさん (ワッチョイ 7ba0-BZc0)
垢版 |
2025/10/18(土) 22:03:59.48ID:RYa38xSb0
スレ立てたわよ

Pythonのお勉強 Part76
https://mevius.5ch.net/test/read.cgi/tech/1760792623/
995デフォルトの名無しさん (ワッチョイ 13ad-KFK9)
垢版 |
2025/10/18(土) 22:15:15.24ID:nI8EUje/0
おつpy
996デフォルトの名無しさん (ワッチョイ 8e94-teMw)
垢版 |
2025/10/19(日) 23:04:42.61ID:QtdWq4TO0
ちゃんと1000まで使いなさい
997デフォルトの名無しさん (ワッチョイ 992a-H8q4)
垢版 |
2025/10/20(月) 08:13:00.14ID:qJ5Vu7Mi0
Py千
2025/10/20(月) 10:15:14.05ID:pvJXdOVW0
injectorってinjector.bindしてから使うものなの?
@injectアノテートでproviderから自動的に登録されるものと思っていた。
C#のDependency Injectionと同じなのね。
999デフォルトの名無しさん (ワッチョイ d62a-H8q4)
垢版 |
2025/10/20(月) 18:11:33.94ID:6H6JHLyc0
C千 武田
2025/10/21(火) 23:31:14.13ID:z5jgx7Ie0
質問どうぞ
10011001
垢版 |
Over 1000Thread
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 200日 21時間 44分 11秒
10021002
垢版 |
Over 1000Thread
5ちゃんねるの運営はUPLIFT会員の皆さまに支えられています。
運営にご協力お願いいたします。


───────────────────
《UPLIFT会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────

会員登録には個人情報は一切必要ありません。
4 USD/mon. から匿名でご購入いただけます。

▼ UPLIFT会員登録はこちら ▼
https://uplift.5ch.net/

▼ UPLIFTログインはこちら ▼
https://uplift.5ch.net/login
レス数が1000を超えています。これ以上書き込みはできません。
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況