!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
Pythonのお勉強 Part75
レス数が1000を超えています。これ以上書き込みはできません。
1デフォルトの名無しさん (ワッチョイ 33d8-PysV)
2025/04/04(金) 01:47:04.18ID:UMpXJcmx0963デフォルトの名無しさん (ワッチョイ 1b03-TYAr)
2025/10/04(土) 11:13:46.38ID:Dyjoms350 assertやraiseはそもそも関数にできるんかい?
964デフォルトの名無しさん (ベーイモ MM2b-G6c+)
2025/10/04(土) 11:24:37.65ID:Lrd6UCHyM >>962
raiseはプリミティブな操作だから
raiseが関数だったとして、じゃあraise関数をどうやって実装する?
結局Pythonのインタプリタに直接組み込むしかないだろう。だから意味がない。
assertについては、assertを無効にする場合は式の評価自体を飛ばさなければならない。そんなことは普通の関数では実現できない。
raiseはプリミティブな操作だから
raiseが関数だったとして、じゃあraise関数をどうやって実装する?
結局Pythonのインタプリタに直接組み込むしかないだろう。だから意味がない。
assertについては、assertを無効にする場合は式の評価自体を飛ばさなければならない。そんなことは普通の関数では実現できない。
965デフォルトの名無しさん (ワッチョイ 258f-MlPs)
2025/10/04(土) 13:03:57.65ID:lfhYKLud0 >>964で指摘されている点は、インタプリタ上で特別扱いしないと対応できない(通常の関数の枠内では処理できない)というのは分かるんだけど、逆にいうと、インタプリタが特別扱いをするのであれば、関数呼び出しのインターフェイスをすることもできなくはないわけでしょう。
assert文の2つ目の式にAssertionErrorに渡す引数を指定するという構文は直感的に分かりにくいなと以前から思っていて、仮に関数呼び出しのインターフェースで呼べるならそんなに違和感ないなとちょっと思っただけ。積極的にそうした方がいいとかそうすべきと主張するつもりはないよ。
assert文の2つ目の式にAssertionErrorに渡す引数を指定するという構文は直感的に分かりにくいなと以前から思っていて、仮に関数呼び出しのインターフェースで呼べるならそんなに違和感ないなとちょっと思っただけ。積極的にそうした方がいいとかそうすべきと主張するつもりはないよ。
966デフォルトの名無しさん (ベーイモ MM2b-G6c+)
2025/10/04(土) 13:49:26.07ID:Lrd6UCHyM >>965
Pythonだと通常の関数呼び出しになってたら特別扱いは難しい
別のraise関数が定義されてるかもしれないからな
じゃあraiseという名前だけをキーワードとして特別扱いするか?それraise文と何が違うの?
ってこと
Pythonだと通常の関数呼び出しになってたら特別扱いは難しい
別のraise関数が定義されてるかもしれないからな
じゃあraiseという名前だけをキーワードとして特別扱いするか?それraise文と何が違うの?
ってこと
967デフォルトの名無しさん (ワッチョイ 25c4-MlPs)
2025/10/04(土) 14:08:02.28ID:lfhYKLud0 仮に特別扱いするなら、raise を一種のキーワードとすることになるんだろうね。raise文との違いは構文。もともとraise文の構文ってちょっと分かりにくくないかというのが元の発想だからね。
どちらかというと、raise文の構文は直感的にちょっと分かりにくいので関数呼び出し風の構文糖があったら良かったのに……という方が言いたいことに近いかもしれない。
どちらかというと、raise文の構文は直感的にちょっと分かりにくいので関数呼び出し風の構文糖があったら良かったのに……という方が言いたいことに近いかもしれない。
968デフォルトの名無しさん (ワッチョイ 0d54-DOAI)
2025/10/04(土) 14:18:48.32ID:ZS4Jz9di0 そんな形式上のものはシンタックスシュガーでどうにでもなる
969デフォルトの名無しさん (ワッチョイ 3d01-UAuC)
2025/10/04(土) 15:12:23.29ID:cv59dmAz0 仮にraiseを関数化するとしたらビルトイン関数になるわけでキーワードとして特別扱いするのとは違う
ビルトイン関数を別のraise関数で上書きしたならその時の動作は上書きした人が責任を持てばいい
ただraiseとassertを同じカテゴリで話すのはどうかと思う
raiseはreturn, break, continue, yieldなどと同じcontrol flow statementなので通常関数とは別のカテゴリとして扱うのが言語を使う側にとっても作る側にとっても自然かつ楽
raiseと違いassertはprintなどと同じでビルトイン関数のほうが使う側には自然
コンパイラを改良する労力をかけたくなかったからステートメントのままなんだと思う
ビルトイン関数を別のraise関数で上書きしたならその時の動作は上書きした人が責任を持てばいい
ただraiseとassertを同じカテゴリで話すのはどうかと思う
raiseはreturn, break, continue, yieldなどと同じcontrol flow statementなので通常関数とは別のカテゴリとして扱うのが言語を使う側にとっても作る側にとっても自然かつ楽
raiseと違いassertはprintなどと同じでビルトイン関数のほうが使う側には自然
コンパイラを改良する労力をかけたくなかったからステートメントのままなんだと思う
970デフォルトの名無しさん (ワッチョイ 25c4-MlPs)
2025/10/04(土) 15:56:42.08ID:lfhYKLud0 assert と raise とで区別すべきというのは同感(>>967ではボケていてraiseって書いちゃっているけど、965に書いたとおりこの話は基本的にはassertを想定している)。
ビルトイン関数にするかキーワードにするかというのは正直そんなに意識はしていなかったかな。仮にビルトイン関数にするとしても通常の関数とは異なりインタプリタによる特別扱いが必要なら、いっそキーワードにしてしまう方が簡単なような気もするけど、まぁ、どちらでも良いのかなと。
Pytnonの場合、yieldのような前例があるから同じ構文の中の一定の場合だけを特別扱いするということに比較的抵抗がない文化なのかなとも思うけど、assert に関しては文のままでいい(処理系に手を入れてまで関数っぽいインターフェイスを提供する必要はない)というのが現時点までの開発陣の判断ということよね。個人的にはちょっと残念だけど、まぁ仕方ないのかなとは思う。
ビルトイン関数にするかキーワードにするかというのは正直そんなに意識はしていなかったかな。仮にビルトイン関数にするとしても通常の関数とは異なりインタプリタによる特別扱いが必要なら、いっそキーワードにしてしまう方が簡単なような気もするけど、まぁ、どちらでも良いのかなと。
Pytnonの場合、yieldのような前例があるから同じ構文の中の一定の場合だけを特別扱いするということに比較的抵抗がない文化なのかなとも思うけど、assert に関しては文のままでいい(処理系に手を入れてまで関数っぽいインターフェイスを提供する必要はない)というのが現時点までの開発陣の判断ということよね。個人的にはちょっと残念だけど、まぁ仕方ないのかなとは思う。
971デフォルトの名無しさん (ワッチョイ 0d54-DOAI)
2025/10/04(土) 16:09:30.50ID:ZS4Jz9di0 raiseのノリでexitと書いて何故か終わらない
972デフォルトの名無しさん (ワッチョイ 3d01-UAuC)
2025/10/04(土) 17:51:28.50ID:cv59dmAz0 >>970
今後の拡張でコンパイラが利用可能なアノテーションを関数に付与できるような仕組みでもできればそれを活用してassertを関数化する可能性は個人的には十分あると思う
逆にassertだけのためにそういう仕組みを追加したり内部的にもassertという名前縛りで関数呼び出し箇所のbytecodeを出力しないようにする変更は費用対効果的にまずないと思う
今後の拡張でコンパイラが利用可能なアノテーションを関数に付与できるような仕組みでもできればそれを活用してassertを関数化する可能性は個人的には十分あると思う
逆にassertだけのためにそういう仕組みを追加したり内部的にもassertという名前縛りで関数呼び出し箇所のbytecodeを出力しないようにする変更は費用対効果的にまずないと思う
973デフォルトの名無しさん (ワッチョイ 43de-MlPs)
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何ですよ!!(´・ω・`)
977デフォルトの名無しさん (ワッチョイ 3133-gAFJ)
2025/10/05(日) 09:26:26.39ID:DxOKijn50 >>974
もうuvがいいぞ
もうuvがいいぞ
978デフォルトの名無しさん (ワッチョイ 0154-vC9d)
2025/10/08(水) 06:55:25.58ID:lcCd82qT0 ファイル削除にimport osとかするのがなんか抵抗あったけど、
pathlib使ってるならp.unlink()で良かったんだな
pathlib使ってるならp.unlink()で良かったんだな
979デフォルトの名無しさん (ワッチョイ 05f9-lCgs)
2025/10/08(水) 13:40:49.01ID:XrXXkqZa0 unlinkって名前わかりにくい気がするけどそういうもんなんかな
980デフォルトの名無しさん (ワッチョイ 0154-vC9d)
2025/10/08(水) 13:48:26.60ID:lcCd82qT0 deleteとremoveの違い
deleteするとなくなってしまうけど、removeは消えるだけで実体はある
unlinkはもっと明示的にいつでも復活できそう
deleteするとなくなってしまうけど、removeは消えるだけで実体はある
unlinkはもっと明示的にいつでも復活できそう
981デフォルトの名無しさん (ワッチョイ 762a-8Ckq)
2025/10/08(水) 14:07:17.26ID:UyQ1K/rS0982デフォルトの名無しさん (ワッチョイ 0154-vC9d)
2025/10/08(水) 14:17:47.05ID:lcCd82qT0 pathlibは神ライブラリだから
openするだけだとしてもPathオブジェクトにしとくと後々役に立つ
openするだけだとしてもPathオブジェクトにしとくと後々役に立つ
983デフォルトの名無しさん (ワッチョイ d5b5-ri6y)
2025/10/08(水) 20:10:03.79ID:PPRPrFFf0984デフォルトの名無しさん (ワッチョイ 3115-jQt6)
2025/10/08(水) 21:22:40.69ID:a5q/Ytzw0 スラッシュで文字列とPath結合できるの好き
985デフォルトの名無しさん (ワッチョイ 0154-vC9d)
2025/10/08(水) 21:27:24.89ID:lcCd82qT0 パスを文字列で持つこと自体が恐らくアンチパターン
986デフォルトの名無しさん (ワッチョイ 0a66-qIC/)
2025/10/08(水) 23:11:40.46ID:DEFvJ9Zk0 ファイル操作が多い場合にはpathlibが便利なのかなとは思うんだけど、そもそもファイル操作自体あまりしないから、いつもpath =r'...' みたいな感じで文字列にしちゃっているわ。
987デフォルトの名無しさん (ワッチョイ 0154-vC9d)
2025/10/08(水) 23:14:49.71ID:lcCd82qT0 読み込む用のファイルがあって、拡張子だけ変えたいとか、
ファイル名の部分に-oldと付けたいとか、別のディレクトリに同じ名前でコピーしたいとか、
そういう操作を正規表現とか駆使しながら頑張って文字列操作するのは、
めんどくさいし読みにくいしバグる
人間がやるべきではない
ファイル名の部分に-oldと付けたいとか、別のディレクトリに同じ名前でコピーしたいとか、
そういう操作を正規表現とか駆使しながら頑張って文字列操作するのは、
めんどくさいし読みにくいしバグる
人間がやるべきではない
988デフォルトの名無しさん (ワッチョイ 7610-qIC/)
2025/10/09(木) 00:23:35.01ID:YJJHW0Xm0 そういう処理が必要になったら、その時点で検討するって感じかな。もちろん、パスならとりあえずPathオブジェクトにしとけっていう流儀もあると思うけどね。
989デフォルトの名無しさん (ワッチョイ ee02-hOow)
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/
VSCodeからコーディング・実行するようなのないの?
Turtle的な
Steamで20% OFF:農家は Replace() されました
https://store.steampowered.com/app/2060160/_Replace/
991デフォルトの名無しさん (ラクッペペ MMeb-Na5b)
2025/10/14(火) 12:39:23.72ID:QgKXwP6qM 外部エディタで変更すると自動反映するって書いてあるぞ
992デフォルトの名無しさん (ワッチョイ 7154-qsnq)
2025/10/14(火) 22:11:58.01ID:BWpaqpg00 ライブラリ追加できない環境でpdf読みたいので、
仕方なく構造調べてるけど複雑すぎる
仕方なく構造調べてるけど複雑すぎる
993デフォルトの名無しさん (ワッチョイ c940-pEGx)
2025/10/16(木) 01:35:31.23ID:b1XJiiUu0 新たにpy installなんてコマンドができてそれで管理というが
使いやすいものかどうか
uvが流行ってるの見て乗ってきたのか
でもこれでライブラリ間のバージョンコンフリクト防げるかどうかには特にまだ情報が無かったなあ
使いやすいものかどうか
uvが流行ってるの見て乗ってきたのか
でもこれでライブラリ間のバージョンコンフリクト防げるかどうかには特にまだ情報が無かったなあ
994デフォルトの名無しさん (ワッチョイ 7ba0-BZc0)
2025/10/18(土) 22:03:59.48ID:RYa38xSb0995デフォルトの名無しさん (ワッチョイ 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千
998デフォルトの名無しさん (ワッチョイ 55d9-Ru9p)
2025/10/20(月) 10:15:14.05ID:pvJXdOVW0 injectorってinjector.bindしてから使うものなの?
@injectアノテートでproviderから自動的に登録されるものと思っていた。
C#のDependency Injectionと同じなのね。
@injectアノテートでproviderから自動的に登録されるものと思っていた。
C#のDependency Injectionと同じなのね。
999デフォルトの名無しさん (ワッチョイ d62a-H8q4)
2025/10/20(月) 18:11:33.94ID:6H6JHLyc0 C千 武田
1000デフォルトの名無しさん (ワッチョイ 5568-Komq)
2025/10/21(火) 23:31:14.13ID:z5jgx7Ie0 質問どうぞ
10011001
Over 1000Thread このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 200日 21時間 44分 11秒
新しいスレッドを立ててください。
life time: 200日 21時間 44分 11秒
レス数が1000を超えています。これ以上書き込みはできません。
ニュース
- 【工作員】「X」のアカウント所在地公開機能が暴いた世論操作の実態 MAGA支持著名アカウントの多くが米国外から運営 日本にも波及 ★2 [ごまカンパチ★]
- 【大阪】日本一高い観覧車が落雷で緊急停止 約20人乗客が閉じ込められ9時間にわたり救助活動 [七波羅探題★]
- 【・(ェ)・】「くまちゃんがいた」散歩中の2歳園児が発見 クリ林に1頭のクマ…保育士「ワンちゃんだね…」と声かけて移動 [Ailuropoda melanoleuca★]
- ラピダス、第2工場建設でも見えぬ顧客 技術開発も難題山積 [蚤の市★]
- 【芸能】安達祐実 44歳の最新姿「ぇーーーーー!!!」「声出た」「なんなの」「まって」「ワオ」 [湛然★]
- 【大阪】「もっとこっち来てよ」女子高校生を電車内に連れ込み 小学校教諭再逮捕「話をしたかっただけ [七波羅探題★]
