!extend:default:vvvvv:1000:1024
!extend:default:vvvvv:1000:1024
↑スレ立てる毎に減るので、減ってたら3つに補充すること。
※前スレ
Pythonのお勉強 Part73
https://mevius.5ch.net/test/read.cgi/tech/1717631290/
VIPQ2_EXTDAT: default:vvvvv:1000:512:: EXT was configured
Pythonのお勉強 Part74
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ 0b4a-lz98)
2024/09/21(土) 10:14:02.15ID:ZHy4g+PL0662デフォルトの名無しさん (アウアウエー Sa13-9cJ9)
2025/02/16(日) 12:09:07.95ID:rAQQ2/+ca (a, b): (int, int) = (0, 0)
663デフォルトの名無しさん (ワッチョイ fd01-/GLU)
2025/02/16(日) 13:10:26.00ID:24lkekzA0 >>660
a, b = 1, 2とすればaとbが個別のローカル変数としてスタックフレームに追加されるだけ
CPythonでは定義順になるから内部の配列内で隣接してる場合もあればしてない場合もある
スタック上の変数でかつそれぞれ直接アクセスしかしないんだから隣接してるかどうかは実用上はどうでもいいこと
a, b = 1, 2とすればaとbが個別のローカル変数としてスタックフレームに追加されるだけ
CPythonでは定義順になるから内部の配列内で隣接してる場合もあればしてない場合もある
スタック上の変数でかつそれぞれ直接アクセスしかしないんだから隣接してるかどうかは実用上はどうでもいいこと
664デフォルトの名無しさん (ワッチョイ e3bf-CQxi)
2025/02/16(日) 13:51:57.18ID:dLfK62nh0 そうでしょ、やっぱりメモリレイアウトが全然違うよね。
一括代入の左辺の場合には、その後もタプルとして使われることは全くなく個別的にしかアクセスしないのだから、メモリ上隣接しているかどうかがどうでもいいというのはある意味当然のことで、それは、通常の意味でのタプル(固定長でimmutableなコレクション・コンテナとしてのタプル)でないことの裏返しだと思うけど。
言語仕様上はそれもまたタプルとして定義されているということであれば「タプルではない」というのは正しくないことになるしそれはそれで構わないのだけれど、重要なのは通常の意味でのタプルとは全く別物だという点であって、その点の認識はあった方が良いんじゃないかなぁ。
一括代入の左辺の場合には、その後もタプルとして使われることは全くなく個別的にしかアクセスしないのだから、メモリ上隣接しているかどうかがどうでもいいというのはある意味当然のことで、それは、通常の意味でのタプル(固定長でimmutableなコレクション・コンテナとしてのタプル)でないことの裏返しだと思うけど。
言語仕様上はそれもまたタプルとして定義されているということであれば「タプルではない」というのは正しくないことになるしそれはそれで構わないのだけれど、重要なのは通常の意味でのタプルとは全く別物だという点であって、その点の認識はあった方が良いんじゃないかなぁ。
665デフォルトの名無しさん (アウアウエー Sa13-9cJ9)
2025/02/16(日) 13:58:47.89ID:rAQQ2/+ca a, b = 0, 0
構文解析上の文法は
(a, b) = (0, 0) の略
ではなく
a, b = (0, 0) の略
じゃないかな
代入前(右辺)はタプルで代入後(左辺)はタプルではなく個別
もし左辺がタプルならbindされた名前が無いので利用出来ない
構文解析上の文法は
(a, b) = (0, 0) の略
ではなく
a, b = (0, 0) の略
じゃないかな
代入前(右辺)はタプルで代入後(左辺)はタプルではなく個別
もし左辺がタプルならbindされた名前が無いので利用出来ない
666デフォルトの名無しさん (ワッチョイ e318-+v22)
2025/02/16(日) 14:30:13.56ID:dLfK62nh0 一括代入の左辺のターゲット並びは、丸括弧や角括弧で囲うことも全く囲わないこともできる。
角括弧で囲った場合はリストになり、丸括弧で囲った場合や全く囲わない場合はタプルになるということはできるけれども、通常の意味でのリストやタプルとはまったく別物だし、その後もリストやタプルとして利用されることはないので、それがリストやタプルであるということにどれほどの意味があるのか、むしろ通常の意味でのリストやタプルと混同してしまう人が出かねない弊害の方が多いのではないかというのが個人的な感想。
むろん、言語仕様上、リストやタプルとして定義されていますということであれば、あえて逆らうつもりはないけれども、リストやタプルの概念の中に異質なものを抱え込むことになって概念内容が拡散するように思うし(e.g.要素に代入できるタプル)、概念整理としては、一括代入の左辺については、リストやタプルのリテラル構文の形式を借用した代入構文の一形式であって、それ自体としてはリストでもタプルでもないという形で整理した方が遥かに分かりやすいのではないかと思っている。
角括弧で囲った場合はリストになり、丸括弧で囲った場合や全く囲わない場合はタプルになるということはできるけれども、通常の意味でのリストやタプルとはまったく別物だし、その後もリストやタプルとして利用されることはないので、それがリストやタプルであるということにどれほどの意味があるのか、むしろ通常の意味でのリストやタプルと混同してしまう人が出かねない弊害の方が多いのではないかというのが個人的な感想。
むろん、言語仕様上、リストやタプルとして定義されていますということであれば、あえて逆らうつもりはないけれども、リストやタプルの概念の中に異質なものを抱え込むことになって概念内容が拡散するように思うし(e.g.要素に代入できるタプル)、概念整理としては、一括代入の左辺については、リストやタプルのリテラル構文の形式を借用した代入構文の一形式であって、それ自体としてはリストでもタプルでもないという形で整理した方が遥かに分かりやすいのではないかと思っている。
667デフォルトの名無しさん (アウアウエー Sa13-9cJ9)
2025/02/16(日) 15:20:14.54ID:rAQQ2/+ca >全く囲わない場合はタプルになるということはできるけれども
いや出来ないやろ
いや出来ないやろ
668デフォルトの名無しさん (ワッチョイ e318-+v22)
2025/02/16(日) 16:31:54.22ID:dLfK62nh0 自分は、一括代入の左辺については(通常の意味での)リストやタプルとは区別した方がわかりやすいのではないかという立場だけど、これらもリストやタプルであると考える立場に立つ場合、その中で、丸括弧で囲むか否かによってタプルになったりならなかったりするという考え方はないんじゃない? ASTでは丸括弧がなくてもタプル扱いみたいだし(>>658)
669デフォルトの名無しさん (アウアウエー Sa13-9cJ9)
2025/02/16(日) 16:50:55.15ID:rAQQ2/+ca 左辺がタプルになる代入は
c = 0, 0
とか
_ = 0, 0
の場合な訳で
(後者は暗黙で名前が付かないbindの例で敢えて描いたけど)
(a, b) = 0, 0
はタプルに代入してる訳じゃないでしょ
という立場ですね
c = 0, 0
とか
_ = 0, 0
の場合な訳で
(後者は暗黙で名前が付かないbindの例で敢えて描いたけど)
(a, b) = 0, 0
はタプルに代入してる訳じゃないでしょ
という立場ですね
670デフォルトの名無しさん (ワッチョイ c57e-o6Hv)
2025/02/16(日) 17:02:45.20ID:ThFtPuZc0671デフォルトの名無しさん (ワッチョイ e39c-+v22)
2025/02/16(日) 17:36:27.88ID:dLfK62nh0 c = 0, 0 と _ = 0, 0 は、代入ターゲットが1つしかない単一代入の文だから、今の話題と直接的な関係はないかと。
一括代入として、
ア a, b = 0, 0
イ (a, b) = 0, 0
ウ [a, b] = 0, 0 の3つの文に実質的な違いは(おそらく)何もなく、あえて左辺がタプルだリストだという必要はないのではないか(少なくとも通常の意味でのタプルやリストではないので、これらがタプルやリストであると考える意味もほとんどないのではないか)、それよりも一括代入の構文として共通のものとして理解する視点の方が有用なのではないかという感覚かな。
言語仕様上、リストやタプルの概念がこれらも含むような形で定義されているかはまた別の問題として。
一括代入として、
ア a, b = 0, 0
イ (a, b) = 0, 0
ウ [a, b] = 0, 0 の3つの文に実質的な違いは(おそらく)何もなく、あえて左辺がタプルだリストだという必要はないのではないか(少なくとも通常の意味でのタプルやリストではないので、これらがタプルやリストであると考える意味もほとんどないのではないか)、それよりも一括代入の構文として共通のものとして理解する視点の方が有用なのではないかという感覚かな。
言語仕様上、リストやタプルの概念がこれらも含むような形で定義されているかはまた別の問題として。
672デフォルトの名無しさん (ワッチョイ 3de8-TCCQ)
2025/02/16(日) 22:36:18.21ID:38lJcH0O0 個人的には一括代入って言葉の方がよっぽど気になるけどな
673デフォルトの名無しさん (ワッチョイ e55b-+v22)
2025/02/16(日) 22:53:37.86ID:6PRP0OeT0 用語法はまったく本質的な部分ではないので、意味が通じれば何でもいいと思うけど。一括代入、複数代入、多重代入、併行代入……好きなのを使えばいいんじゃない? 既に定着している用語法があるならそれに従っておく方が無難だとは思うが。
あとa = b = c みたいなのと語感上、区別しやすい用語だとなお良いね。
あとa = b = c みたいなのと語感上、区別しやすい用語だとなお良いね。
674デフォルトの名無しさん (ワッチョイ 3de8-TCCQ)
2025/02/16(日) 23:06:15.10ID:38lJcH0O0 じゃ左辺のタプルも意味が通じればなんでもいいんじゃない?
675デフォルトの名無しさん (ワッチョイ cb10-+v22)
2025/02/17(月) 00:13:36.55ID:S+Nz3ahz0 要素に代入できるタプルというものを観念して、いわば特殊なタプルと位置付けてタプル概念に含める方向性で考えるのか、タプルとは区別して整理する方向性を指向するのかというのは、理屈としてはタプル概念の外縁の画定に関する1つの態度決定の問題だから、重要でないとはいえないだろうし、タプルに含める立場をとる場合でも、通常の意味でのタプル(immutableな固定長コンテナとしてのタプル)とは質的に異なるということを意識しておくことは実践的にも意味がある……と自分なんかは思うけど、人の考え方はさまざまだからね。674が、用語法の違いと同程度のどうでもいい問題だと思うのなら、実際674にとってはそうなんでしょ。そのことを否定はしないよ。
676デフォルトの名無しさん (ワッチョイ c519-o6Hv)
2025/02/17(月) 00:31:13.10ID:ROCyt//h0 利用者から観察できんし内部処理知ってると最適化できる類のもんでもなさそう
今の処理系でどういう扱いしてるのか知りたいならわかるけど
個人的にはどうでもいい寄りというかあえて意識したくない話かな
今の処理系でどういう扱いしてるのか知りたいならわかるけど
個人的にはどうでもいい寄りというかあえて意識したくない話かな
677デフォルトの名無しさん (ワッチョイ 3de8-sgke)
2025/02/17(月) 11:24:47.42ID:5+w8yWyk0 「正確にはタプルじゃない!」とイキった手前どんなに見苦しい言い訳を繰り返してでも自己正当化したいのだろう
678デフォルトの名無しさん (ワッチョイ 3dfc-FYiy)
2025/02/17(月) 12:14:13.77ID:kwgQ3IwM0 タプルオブジェクトではないとでも言っておけば不毛なレスバしなくてよかったのにね
679デフォルトの名無しさん (ワッチョイ e327-g3m2)
2025/02/17(月) 12:36:50.89ID:Ta1N8VfU0 レスバしたという感覚はないし、そんなに間違ったことを書いたつもりもないんだけどな。678のいう「タプルオブジェクトではない」という表現の方が受け入れやすいということなら別にそれで構わないと思うし。
680デフォルトの名無しさん (ワッチョイ 438b-UMND)
2025/02/17(月) 16:30:08.05ID:33cG7id30 5chで細かいところまで正確に伝えるのは難しいんだし
あんまり気にしなくていいんじゃね
SNSは議論に向かないしさ
あんまり気にしなくていいんじゃね
SNSは議論に向かないしさ
681デフォルトの名無しさん (ワッチョイ 1556-xt5A)
2025/02/18(火) 01:50:34.73ID:kyyl/iJD0682デフォルトの名無しさん (ワッチョイ b52a-q0RL)
2025/02/18(火) 02:55:12.14ID:a4UZNug90683デフォルトの名無しさん (ワッチョイ 1556-xt5A)
2025/02/18(火) 03:32:54.30ID:kyyl/iJD0684デフォルトの名無しさん (ワッチョイ 1556-xt5A)
2025/02/18(火) 03:48:38.37ID:kyyl/iJD0685デフォルトの名無しさん (ワッチョイ fd2a-TPdf)
2025/02/18(火) 08:18:06.27ID:goEKoJkr0686デフォルトの名無しさん (ワッチョイ c5af-o6Hv)
2025/02/18(火) 08:51:43.27ID:aG61gPOQ0 混乱させるかもしれんけど標準モジュールcollectionsにあるdefaultdict使えば
from collections import defaultdict
d = defaultdict(dict, {"today": {"りんご": 100, "みかん": 50}})
d["tomorrow"]["トマト"] = 70
でエラーにならない
d["tomorrow"] の時点で {} が自動生成される
from collections import defaultdict
d = defaultdict(dict, {"today": {"りんご": 100, "みかん": 50}})
d["tomorrow"]["トマト"] = 70
でエラーにならない
d["tomorrow"] の時点で {} が自動生成される
687デフォルトの名無しさん (ワッチョイ e5b1-+v22)
2025/02/18(火) 09:17:41.68ID:UncCeV9C0 get, setdefault, collections.defaultdict, __missing__ の違いについては、たしかEffectivePythonで2〜3項目さかれていたね。
688デフォルトの名無しさん (アウアウエー Sa13-9cJ9)
2025/02/18(火) 11:02:20.10ID:HbHlBTpRa まあうまくいくだろうし便利だろうけど
キーのスペル間違いとかがチェックされない怖さはあるな
キーのスペル間違いとかがチェックされない怖さはあるな
689デフォルトの名無しさん (ワッチョイ 15df-xt5A)
2025/02/19(水) 07:26:57.60ID:if5TaTL20690デフォルトの名無しさん (ワッチョイ cd54-3IcV)
2025/02/19(水) 07:46:07.12ID:ouE8cAfi0 いきなり参照してエラーになるのは嫌なので、
いつもgetを使うようにしよう
というのは必ずしもいい考えじゃないんだよな
エラーにならない筈のものがエラーになるなら異常なので捕まえるべき
本気で何が入ってるか予想できないケースではgetを使うしかないけど、
そんな状況になるのも何か間違ってる
いつもgetを使うようにしよう
というのは必ずしもいい考えじゃないんだよな
エラーにならない筈のものがエラーになるなら異常なので捕まえるべき
本気で何が入ってるか予想できないケースではgetを使うしかないけど、
そんな状況になるのも何か間違ってる
691デフォルトの名無しさん (ワッチョイ cb32-0vo8)
2025/02/19(水) 08:27:04.14ID:mSxUrXXi0 noneが帰るならそれキャッチしとけば同じじゃない?
692デフォルトの名無しさん (ワッチョイ e57a-+v22)
2025/02/19(水) 09:44:18.83ID:tY+HC/mE0 新しいキーが挿入されるのはsetdefaultやcollections.defaultdictであって、getは別に新しいキーは挿入されないんじゃなかったっけ?
693デフォルトの名無しさん (ワッチョイ c5cf-0vo8)
2025/02/19(水) 16:01:59.58ID:7/rbEKea0 想定していないことは例外にする
局所的に意図してフォールバックさせたいときはget
恒常的にはdefaultってだけよ
局所的に意図してフォールバックさせたいときはget
恒常的にはdefaultってだけよ
694デフォルトの名無しさん (ワッチョイ cd54-3IcV)
2025/02/19(水) 20:05:14.43ID:O180uynF0 継承したクラスにあった__repr__()をそのまま使って欲しいのにうまく行かない
695デフォルトの名無しさん (ブーイモ MM43-UMND)
2025/02/19(水) 21:58:33.63ID:S2Edg5gIM keyerrorとかindexerrorとか事前にかわせるやつも例外にするのどうなの?
なんかコスト高そうな印象だけど
なんかコスト高そうな印象だけど
696デフォルトの名無しさん (ワッチョイ c5b3-0vo8)
2025/02/19(水) 22:19:23.68ID:7/rbEKea0 VMといえど高いし気になるならin (__contains__)を使えばとしか
オレはコードの意図がつかみやすいかで使い分けてる
オレはコードの意図がつかみやすいかで使い分けてる
697デフォルトの名無しさん (ワッチョイ 3576-+v22)
2025/02/19(水) 22:48:10.15ID:/AQQIY230 Rustとか最近の言語って例外ないらしいじゃない。そっちの方が優れているというのがコンセンサスになったらPython4とか5とかのメジャーパージョンアップのときにそちらに舵を切るということもありうるのかな? 自分は3以降でPythonを知ったので、2→3のときの大改革ってのは未経験なんだけど。
698デフォルトの名無しさん (ワッチョイ cd54-3IcV)
2025/02/19(水) 22:56:14.91ID:O180uynF0 3での変更点って、ええー2ではまだそんなこと考えてたのという、
3が先進的というよりは2が後進的で、
pythonなら当然そうするでしょという感じなんだよな
2の頃はまだperlをメインに使ってた
3が先進的というよりは2が後進的で、
pythonなら当然そうするでしょという感じなんだよな
2の頃はまだperlをメインに使ってた
699デフォルトの名無しさん (ワッチョイ 438b-UMND)
2025/02/19(水) 22:59:08.90ID:aJXoRfiD0 2はprintがステートメントで
ステートメント?!と驚いた
と思ったら3でもdelがステートメントでまた驚いた
ステートメント?!と驚いた
と思ったら3でもdelがステートメントでまた驚いた
700デフォルトの名無しさん (ワッチョイ ab81-xt5A)
2025/02/20(木) 00:52:57.36ID:laXgRgOS0 パイチョンはインタプリタが全然頑張らないアホの子
701デフォルトの名無しさん (ワッチョイ e5d7-MmBQ)
2025/02/20(木) 04:49:24.69ID:2izZplM70 毎日が新鮮な驚きに溢れて楽しそうですね
702デフォルトの名無しさん (ベーイモ MM2b-gW//)
2025/02/20(木) 11:00:03.67ID:gDWkqRFJM >>697
Pythonは、ぼくこんぴゅーたのむずかしいことわかんないけどえーあいあぷりつくるんだもん!な子を満足させる使命があるから例外は必要
彼らが例外を放置してもアプリが止まってしまわないのはフレームワークが最終的にケツを拭いてくれているおかげ
Pythonは、ぼくこんぴゅーたのむずかしいことわかんないけどえーあいあぷりつくるんだもん!な子を満足させる使命があるから例外は必要
彼らが例外を放置してもアプリが止まってしまわないのはフレームワークが最終的にケツを拭いてくれているおかげ
703デフォルトの名無しさん (JP 0Hcb-ek9F)
2025/02/20(木) 19:27:27.78ID:qCo+divFH 例外処理って必要?
書かなくてもPython自身が例外を出して止まるよね
書かなくてもPython自身が例外を出して止まるよね
704デフォルトの名無しさん (ワッチョイ cd54-3IcV)
2025/02/20(木) 19:58:06.02ID:YvSU5J1d0 変な値が入力されたらエラーを表示したい
でも入力部分はずっと下の階層の処理なので、
エラーの情報を上までバトンリレーしないといけない
例外なら言語がやってくれる
でも入力部分はずっと下の階層の処理なので、
エラーの情報を上までバトンリレーしないといけない
例外なら言語がやってくれる
705デフォルトの名無しさん (ワッチョイ 9b9a-MHHu)
2025/02/21(金) 06:33:27.06ID:dPC4thbz0 ギャンブルのデータ分析?とai予想したいのですが、どういう環境がいいんでしょうか?
anacondaが定番のような気がしますが、ローカルだとマシンパワーがどうなのかなと。
unityみたいなゲームエンジン上でも出来たりしますか?
anacondaが定番のような気がしますが、ローカルだとマシンパワーがどうなのかなと。
unityみたいなゲームエンジン上でも出来たりしますか?
706デフォルトの名無しさん (ワッチョイ 9bb9-zHVl)
2025/02/21(金) 10:53:50.45ID:ebrhUf4S0 GoogleのColabでええよ
707デフォルトの名無しさん (ワッチョイ fd7c-JOj3)
2025/02/21(金) 11:17:38.16ID:0EY3V3nR0 >>703
例外処理っていうのは例外が発生した場合にリカバリー可能な処理を書くんだぞ
その辺わかってなくて単純に例外の時にって思ってる奴が多い
具体例で言うと通信
ゲームとかのアップデート想像してみればいい
大容量データダウンロードしてる時に通信状況が悪くなった
例外処理が無ければそのまま例外吐いて失敗となる
ここで例外処理として通信状況が良い所に移動しろ的なメッセージを出して続行ボタン押させたり、数秒から数十秒間隔で通信を再開させるようにした場合は処理がスムーズになるやろ
こういう風にリカバリー可能な処理を書くのが例外処理やで
例外処理っていうのは例外が発生した場合にリカバリー可能な処理を書くんだぞ
その辺わかってなくて単純に例外の時にって思ってる奴が多い
具体例で言うと通信
ゲームとかのアップデート想像してみればいい
大容量データダウンロードしてる時に通信状況が悪くなった
例外処理が無ければそのまま例外吐いて失敗となる
ここで例外処理として通信状況が良い所に移動しろ的なメッセージを出して続行ボタン押させたり、数秒から数十秒間隔で通信を再開させるようにした場合は処理がスムーズになるやろ
こういう風にリカバリー可能な処理を書くのが例外処理やで
708デフォルトの名無しさん (アウアウウー Sa49-9cJ9)
2025/02/21(金) 11:41:35.66ID:vI88dzmZa >>705
もちろんUnityでも出来るよ
もちろんUnityでも出来るよ
709デフォルトの名無しさん (ワッチョイ 9b9a-MHHu)
2025/02/21(金) 13:53:02.83ID:dPC4thbz0710デフォルトの名無しさん (ワッチョイ a54a-2NqA)
2025/02/21(金) 15:26:48.94ID:NDdeWha40 現実世界の様子やUIを理解してタスクをこなせるマルチモーダルAIエージェントの基盤モデル「Magma」をMicrosoftが発表
https://gigazine.net/news/20250221-microsoft-magma/
悪用されている
https://gigazine.net/news/20250221-microsoft-magma/
悪用されている
711デフォルトの名無しさん (ワッチョイ fd7c-JOj3)
2025/02/21(金) 17:14:00.29ID:0EY3V3nR0712デフォルトの名無しさん (ワッチョイ 9b9a-MHHu)
2025/02/21(金) 18:41:20.24ID:dPC4thbz0714デフォルトの名無しさん (ワッチョイ 6555-2NqA)
2025/02/21(金) 19:06:12.50ID:hCnqiwLw0 LLM の推論機能を活用する新しいバックドア攻撃「DarkMind」が提唱される
https://gigazine.net/news/20250221-darkmind-chain-of-thought/
AIはチェスで負けそうになるとチートする
https://gigazine.net/news/20250221-ai-chess-cheating/
https://gigazine.net/news/20250221-darkmind-chain-of-thought/
AIはチェスで負けそうになるとチートする
https://gigazine.net/news/20250221-ai-chess-cheating/
715デフォルトの名無しさん (ワッチョイ 15b2-xt5A)
2025/02/21(金) 23:21:50.44ID:TllVjNz50 from datetime import datetime
t_start: str = "23:00"
t_end: str = "24:00"
t_start_dt: datetime.datetime = datetime.strptime(t_start, "%H:%M")
t_end_dt: datetime.datetime = datetime.strptime(t_end, "%H:%M")
unix_t_start: float = t_start_dt.timestamp()
unix_t_end: float = t_end_dt.timestamp()
x = int(unix_t_end - unix_t_start)
print(x)
t_endが24だと以下のエラーが出ます
24時間表記の時は%Hではないんでしょうか?
ValueError: time data '24:00' does not match format '%H:%M'
t_start: str = "23:00"
t_end: str = "24:00"
t_start_dt: datetime.datetime = datetime.strptime(t_start, "%H:%M")
t_end_dt: datetime.datetime = datetime.strptime(t_end, "%H:%M")
unix_t_start: float = t_start_dt.timestamp()
unix_t_end: float = t_end_dt.timestamp()
x = int(unix_t_end - unix_t_start)
print(x)
t_endが24だと以下のエラーが出ます
24時間表記の時は%Hではないんでしょうか?
ValueError: time data '24:00' does not match format '%H:%M'
716デフォルトの名無しさん (ブーイモ MM43-UMND)
2025/02/22(土) 00:07:13.49ID:Oo9CzgQsM717デフォルトの名無しさん (ワッチョイ 9b01-wm2V)
2025/02/22(土) 00:28:58.03ID:rVspP8iQ0 不親切なエラーだよね
718デフォルトの名無しさん (ワッチョイ 438b-UMND)
2025/02/22(土) 00:58:09.16ID:eBlj03Lj0 境界値の問題って定番じゃね
テストケースにも必ずいれるだろ
テストケースにも必ずいれるだろ
719デフォルトの名無しさん (ワッチョイ cd54-3IcV)
2025/02/22(土) 07:44:50.26ID:mdQ5EfsK0 閏秒なんか廃止で当然だよな
720デフォルトの名無しさん (ワッチョイ 15b2-xt5A)
2025/02/22(土) 12:10:03.03ID:kWiPacnr0 >>716
ありがとうございます
このようにしてみましたがもっとスマートな方法ってありますか?
from datetime import datetime
t_start: str = "23:00"
t_end: str = "24:00"
if t_end[0:2] == "24":
t_end = f"00:{t_end[3:5]}"
t_start_dt: datetime.datetime = datetime.strptime(t_start, "%H:%M")
t_end_dt: datetime.datetime = datetime.strptime(t_end, "%H:%M")
unix_t_start: float = t_start_dt.timestamp()
unix_t_end: float = t_end_dt.timestamp()
if t_end[0:2] == "00":
unix_t_end += 86400 # 24時間足す
x = int(unix_t_end - unix_t_start)
print(x)
ありがとうございます
このようにしてみましたがもっとスマートな方法ってありますか?
from datetime import datetime
t_start: str = "23:00"
t_end: str = "24:00"
if t_end[0:2] == "24":
t_end = f"00:{t_end[3:5]}"
t_start_dt: datetime.datetime = datetime.strptime(t_start, "%H:%M")
t_end_dt: datetime.datetime = datetime.strptime(t_end, "%H:%M")
unix_t_start: float = t_start_dt.timestamp()
unix_t_end: float = t_end_dt.timestamp()
if t_end[0:2] == "00":
unix_t_end += 86400 # 24時間足す
x = int(unix_t_end - unix_t_start)
print(x)
721デフォルトの名無しさん (ワッチョイ cd54-3IcV)
2025/02/22(土) 12:19:18.21ID:mdQ5EfsK0 何がしたいのか不明だけど、時間の計算にはtimedeltaを使う
722デフォルトの名無しさん (ワッチョイ 15b2-xt5A)
2025/02/22(土) 12:35:47.16ID:kWiPacnr0723デフォルトの名無しさん (ワッチョイ 15b2-xt5A)
2025/02/22(土) 12:42:40.44ID:kWiPacnr0 やりたいことはt_startとt_endの中に入ってる文字列の時刻の差分を求めたいです
724デフォルトの名無しさん (ワッチョイ cd54-3IcV)
2025/02/22(土) 12:44:39.38ID:mdQ5EfsK0 といいつつ、日付ではなく時間の長さをhh:mm:ss形式で書きたい時用に、
秒単位のfloatと文字列の相互変換ライブラリを自作した
標準にはいいの無い
秒単位のfloatと文字列の相互変換ライブラリを自作した
標準にはいいの無い
725デフォルトの名無しさん (ワッチョイ cd54-3IcV)
2025/02/22(土) 12:51:12.03ID:mdQ5EfsK0 うちのライブラリで書くと、
delta = str_sec(t_end)-str_sec(t_start)
print(sec_str(delta))
こんな感じになる
delta = str_sec(t_end)-str_sec(t_start)
print(sec_str(delta))
こんな感じになる
726デフォルトの名無しさん (ワッチョイ 15b2-xt5A)
2025/02/22(土) 13:11:12.71ID:kWiPacnr0 途中経過ですけど今こんな状態です
t_start: str = "23:00"
t_end: str = "24:00"
dt_now = datetime.now()
t_start_dt = datetime(year=dt_now.year, month=dt_now.month, day=dt_now.day, hour=int(t_start[0:2]), minute=int(t_start[3:5]))
if t_end[0:2] == "24":
dt_d = dt_now.day + 1 # もし現在が月の最終日だとエラーになる "ValueError: day is out of range for month"
t_end_dt = datetime(year=dt_now.year, month=dt_now.month, day=dt_d, hour=0, minute=int(t_end[3:5]))
else:
t_end_dt = datetime(year=dt_now.year, month=dt_now.month, day=dt_now.day, hour=int(t_end[0:2]), minute=int(t_end[3:5]))
x = t_end_dt - t_start_dt
print(t_start_dt)
print(t_end_dt)
print(x)
t_start: str = "23:00"
t_end: str = "24:00"
dt_now = datetime.now()
t_start_dt = datetime(year=dt_now.year, month=dt_now.month, day=dt_now.day, hour=int(t_start[0:2]), minute=int(t_start[3:5]))
if t_end[0:2] == "24":
dt_d = dt_now.day + 1 # もし現在が月の最終日だとエラーになる "ValueError: day is out of range for month"
t_end_dt = datetime(year=dt_now.year, month=dt_now.month, day=dt_d, hour=0, minute=int(t_end[3:5]))
else:
t_end_dt = datetime(year=dt_now.year, month=dt_now.month, day=dt_now.day, hour=int(t_end[0:2]), minute=int(t_end[3:5]))
x = t_end_dt - t_start_dt
print(t_start_dt)
print(t_end_dt)
print(x)
727デフォルトの名無しさん (ワッチョイ 15b2-xt5A)
2025/02/22(土) 13:58:51.98ID:kWiPacnr0 何度もすみません
とりあえずこうなりました
なんだが余計に長くなった気がします
from datetime import datetime
def strToDt(str_dt: str):
dt_now = datetime.now()
# TODO 25や26の場合があるかもしれないので24決め打ちはやめる
if str_dt[0:2] == "24":
next_dt = dt_now + timedelta(days=1)
dt_dt = datetime(year=next_dt.year, month=next_dt.month, day=next_dt.day, hour=0, minute=int(str_dt[3:5]))
else:
dt_dt = datetime(year=dt_now.year, month=dt_now.month, day=dt_now.day, hour=int(str_dt[0:2]), minute=int(str_dt[3:5]))
return dt_dt
t_start: str = "23:00"
t_end: str = "24:00"
t_start_dt = strToDt(t_start)
t_end_dt = strToDt(t_end)
x = t_end_dt - t_start_dt
print(t_start_dt)
print(t_end_dt)
print(x) # 時間:分:秒 形式
# TODO xを分形式に変換する
とりあえずこうなりました
なんだが余計に長くなった気がします
from datetime import datetime
def strToDt(str_dt: str):
dt_now = datetime.now()
# TODO 25や26の場合があるかもしれないので24決め打ちはやめる
if str_dt[0:2] == "24":
next_dt = dt_now + timedelta(days=1)
dt_dt = datetime(year=next_dt.year, month=next_dt.month, day=next_dt.day, hour=0, minute=int(str_dt[3:5]))
else:
dt_dt = datetime(year=dt_now.year, month=dt_now.month, day=dt_now.day, hour=int(str_dt[0:2]), minute=int(str_dt[3:5]))
return dt_dt
t_start: str = "23:00"
t_end: str = "24:00"
t_start_dt = strToDt(t_start)
t_end_dt = strToDt(t_end)
x = t_end_dt - t_start_dt
print(t_start_dt)
print(t_end_dt)
print(x) # 時間:分:秒 形式
# TODO xを分形式に変換する
728デフォルトの名無しさん (ブーイモ MM43-UMND)
2025/02/22(土) 14:01:58.99ID:92tqsAYeM 初学者だと思うけど
end>startが保証されてるなら
>725
みたいに秒に変換して引き算が正解じゃない?
end>startが保証されてるなら
>725
みたいに秒に変換して引き算が正解じゃない?
729デフォルトの名無しさん (ワッチョイ 15b2-xt5A)
2025/02/22(土) 14:16:15.84ID:kWiPacnr0 >>728
Endが24までなのか25や26もあるのか、それとも24の次は1なのか確実じゃないのでその辺考えて修正してみます
やっぱりタイムスタンプに変換した方が短くなりますか?
あと、727のインポートでtimedeltaが抜けてました
Endが24までなのか25や26もあるのか、それとも24の次は1なのか確実じゃないのでその辺考えて修正してみます
やっぱりタイムスタンプに変換した方が短くなりますか?
あと、727のインポートでtimedeltaが抜けてました
730デフォルトの名無しさん (ワッチョイ cd54-3IcV)
2025/02/22(土) 14:22:19.90ID:mdQ5EfsK0 print(datetime.now())
これの出力が
2025-02-22 14:20:40.735896
これになるのが嫌
秒を整数にしてくれたらそのまま使えるのに
これの出力が
2025-02-22 14:20:40.735896
これになるのが嫌
秒を整数にしてくれたらそのまま使えるのに
731デフォルトの名無しさん (ワッチョイ 15b2-xt5A)
2025/02/22(土) 15:29:44.08ID:kWiPacnr0732デフォルトの名無しさん (ワッチョイ 9b01-VhW0)
2025/02/22(土) 18:46:10.84ID:/k68f2f30 pandasなら+“:00”してHH:mm:ss形式に揃えれば25:00や26:00でもパースできるけど簡単な処理だから自分で計算すればいいんじゃないかと思う
def parse_as_minutes(hhmm):
hours, minutes = [int(x) for x in hhmm.split(':')]
return hours * 60 + minutes
def parse_as_minutes(hhmm):
hours, minutes = [int(x) for x in hhmm.split(':')]
return hours * 60 + minutes
733デフォルトの名無しさん (ワッチョイ cd54-3IcV)
2025/02/22(土) 18:52:17.77ID:mdQ5EfsK0 そんなのを毎回作ってられない
2回くらいは作る
3回目あたりで、本腰入れて部品化する
2回くらいは作る
3回目あたりで、本腰入れて部品化する
734デフォルトの名無しさん (ワッチョイ 43ce-qk/j)
2025/02/22(土) 23:02:04.13ID:eBlj03Lj0735デフォルトの名無しさん (ワッチョイ fd01-CYpN)
2025/02/22(土) 23:31:26.22ID:d1IFpLYA0 劣化しとるやないかーい
736デフォルトの名無しさん (ワッチョイ 6e9a-1YEc)
2025/02/23(日) 09:47:38.74ID:BUMkVt7f0 個人レベルで機械学習学んでも意味無いですかね?
例えば競馬予想aiを作りたいとして
しかし、けっきょくのところデータがないと、学習モデルだけあっても意味ないですもんね
競馬なら馬場状態を数値化したデータというのがないと、学習させられないですよね
例えば競馬予想aiを作りたいとして
しかし、けっきょくのところデータがないと、学習モデルだけあっても意味ないですもんね
競馬なら馬場状態を数値化したデータというのがないと、学習させられないですよね
737デフォルトの名無しさん (ワッチョイ 31b8-I+dG)
2025/02/23(日) 10:33:41.64ID:2+mAKcn80 >>730
そのくらいは標準で簡単に出来るだろ
そのくらいは標準で簡単に出来るだろ
738デフォルトの名無しさん (ワッチョイ 3de3-Ek8k)
2025/02/23(日) 10:36:52.09ID:foL9AaqB0739デフォルトの名無しさん (オイコラミネオ MM09-WNII)
2025/02/23(日) 11:58:59.62ID:uSqDrBD8M740デフォルトの名無しさん (ワッチョイ 0154-ePnC)
2025/02/23(日) 12:29:42.21ID:TNVZaLWv0 オッズの計算に投票だけではなくAI予想も加味したら、
面白さと利益率が上がるのでは
面白さと利益率が上がるのでは
741デフォルトの名無しさん (ワッチョイ 6e9a-1YEc)
2025/02/23(日) 13:11:05.65ID:BUMkVt7f0742デフォルトの名無しさん (ワッチョイ 0154-ePnC)
2025/02/23(日) 13:17:20.60ID:TNVZaLWv0 確率が計算できて、オッズがその確率通りならば、どこに賭けても期待値は同じ
実際には、確率とオッズに乖離が発生する
そこに着目して、確率の高いところではなく、期待値の高いところに掛けると儲かるかもしれない
実際には、確率とオッズに乖離が発生する
そこに着目して、確率の高いところではなく、期待値の高いところに掛けると儲かるかもしれない
743デフォルトの名無しさん (オイコラミネオ MM09-WNII)
2025/02/23(日) 14:34:58.45ID:uSqDrBD8M744デフォルトの名無しさん (ワッチョイ 0154-ePnC)
2025/02/23(日) 15:42:44.26ID:TNVZaLWv0 early continue 便利だな
行は増えるけどネストは浅い方がいいので積極的に使おう
行は増えるけどネストは浅い方がいいので積極的に使おう
745デフォルトの名無しさん (ワッチョイ 8d3e-D2xv)
2025/02/23(日) 16:11:59.81ID:r171NbV30 >>744
横からだけどサンクスこれいいな
横からだけどサンクスこれいいな
746デフォルトの名無しさん (ワッチョイ cd79-Ro5/)
2025/02/23(日) 16:59:33.82ID:SH8eoGXi0 そんな言い方があるんだな
同じように関数で場合分けごとにさっさとreturnしてるけど
これもearly returnっていうのを知らなかった
同じように関数で場合分けごとにさっさとreturnしてるけど
これもearly returnっていうのを知らなかった
747デフォルトの名無しさん (ワッチョイ 0154-ePnC)
2025/02/23(日) 17:13:57.05ID:TNVZaLWv0 例えばループで文字列を処理していて
m = re.search(pattern, str)
found = m.groups()[0]
これだと見つからない時にエラーになる
で、
if m :=
にしたりするけど、見つからなかったら飛ばしたいなら、
else:
continue
になって、なんか変
最初から m = のままで、
if not m:
continue
を付ければすっきりする
セイウチは絶滅の方向で
m = re.search(pattern, str)
found = m.groups()[0]
これだと見つからない時にエラーになる
で、
if m :=
にしたりするけど、見つからなかったら飛ばしたいなら、
else:
continue
になって、なんか変
最初から m = のままで、
if not m:
continue
を付ければすっきりする
セイウチは絶滅の方向で
748デフォルトの名無しさん (ワッチョイ 8dd8-Xb5t)
2025/02/23(日) 18:43:24.49ID:ap5ufkCU0 それ最初からelse: continue必要ないじゃん
749デフォルトの名無しさん (ワッチョイ 0154-ePnC)
2025/02/23(日) 19:01:50.10ID:TNVZaLWv0 elseをほっとくと、foundの中身が不定になってしまう
事前にNoneを入れておいたりして、後の処理でNoneなら飛ばす
みたいなことになる
そんなことするくらいなら、continueしてしまった方が後腐れない
事前にNoneを入れておいたりして、後の処理でNoneなら飛ばす
みたいなことになる
そんなことするくらいなら、continueしてしまった方が後腐れない
750デフォルトの名無しさん (アウアウウー Sa39-c/TO)
2025/02/23(日) 19:46:23.76ID:CZU86cpwa >>709
Unityがゲームしか造れないという考え方は改めるべき
Unityがゲームしか造れないという考え方は改めるべき
751デフォルトの名無しさん (アウアウウー Sa39-c/TO)
2025/02/23(日) 19:48:54.69ID:CZU86cpwa re.findall(pattern, str)
752デフォルトの名無しさん (ワッチョイ 0154-ePnC)
2025/02/23(日) 20:05:27.12ID:TNVZaLWv0 もしかしてfindallって全ての点でsearchに勝ってる?
753デフォルトの名無しさん (ワッチョイ 8dd8-Xb5t)
2025/02/23(日) 20:54:18.71ID:ap5ufkCU0 なんでだよw
めちゃくちゃ要領悪いな
めちゃくちゃ要領悪いな
754デフォルトの名無しさん (スッップ Sdfa-O5ZF)
2025/02/23(日) 22:37:16.02ID:R0b4DHIEd >>749
gotoを多用しそうな人発見
gotoを多用しそうな人発見
755デフォルトの名無しさん (ワッチョイ ee01-4CRF)
2025/02/23(日) 23:03:58.66ID:LVu8ljPH0 pythonのreはAPI設計に難があるよね
他の言語から戻って来るたびに仕様の確認が必要
他の言語から戻って来るたびに仕様の確認が必要
756デフォルトの名無しさん (ワッチョイ 0154-ePnC)
2025/02/23(日) 23:09:23.71ID:TNVZaLWv0 perlから来たからsearchばっかり使ってるけど、
findallの方がこなれてそうだな
findallの方がこなれてそうだな
757デフォルトの名無しさん (ワッチョイ 6e9a-1YEc)
2025/02/24(月) 05:49:40.37ID:ujJrcFED0 >>750
tensorflowとかunityで使えるんすか(´・ω・`)
tensorflowとかunityで使えるんすか(´・ω・`)
758デフォルトの名無しさん (ワッチョイ 752a-xrb0)
2025/02/24(月) 08:23:49.32ID:TCszVRfv0 >>747
> 最初から m = のままで、
> if not m:
> continue
> を付ければすっきりする
> セイウチは絶滅の方向で
話題をよく理解していないのだけれど、
コロンイコールを使って、そのように論理を逆転してやればすっきりする、というハナシとも違うの?
if not (m := re.search(pattern, str)):
continue
> 最初から m = のままで、
> if not m:
> continue
> を付ければすっきりする
> セイウチは絶滅の方向で
話題をよく理解していないのだけれど、
コロンイコールを使って、そのように論理を逆転してやればすっきりする、というハナシとも違うの?
if not (m := re.search(pattern, str)):
continue
759デフォルトの名無しさん (ワッチョイ d5d7-0NZ+)
2025/02/24(月) 12:12:57.30ID:4WrA9fgL0760デフォルトの名無しさん (ワッチョイ 0154-ePnC)
2025/02/24(月) 14:57:43.47ID:d83yxTtH0 いくつかのパターンのどれかに合致する、みたいな時は
if m :=
elif m :=
elif m :=
みたいにしか書きようがない
パターン検査と結果取得を同時に書かないと、同じことを2回書くことになる
if m :=
elif m :=
elif m :=
みたいにしか書きようがない
パターン検査と結果取得を同時に書かないと、同じことを2回書くことになる
761デフォルトの名無しさん (ワッチョイ aebb-O2N6)
2025/02/24(月) 15:09:39.96ID:Jwc6B7rV0762デフォルトの名無しさん (ワッチョイ 0154-ePnC)
2025/02/24(月) 15:27:48.14ID:d83yxTtH0 だからこそ、1行で決まった数キャプチャーする時はsearchで、
全体からいくつあるか判らないけどあるだけ取ってくる時はfindallという使い分け
という設計だったけど、
1回しかマッチしないと判っててもfindallして[0]だけ使う方が使いやすいっていう
全体からいくつあるか判らないけどあるだけ取ってくる時はfindallという使い分け
という設計だったけど、
1回しかマッチしないと判っててもfindallして[0]だけ使う方が使いやすいっていう
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 中国国営メディア「沖縄は日本ではない」… ★6 [BFU★]
- 政府、株式の配当など金融所得を高齢者の医療保険料や窓口負担に反映する方針を固めた [バイト歴50年★]
- ナイツ塙が指摘のローソンコーヒーカップ、ロゴ「L」で誤解生みデザイン変更へ 在庫使い切る3か月後にリニューアル [muffin★]
- バービー、 台湾有事の発言の波紋で「たまったもんじゃない」「高市さんに真意は聞きたい」「国民に向けて説明してほしい」 [muffin★]
- 【速報】 高市政権、「日本版DOGE」を立ち上げ 米国で歳出削減をした「政府効率化省(DOGE)」になぞらえたもの [お断り★]
- 外務省局長は無言で厳しい表情…日中の高官協議終了か 高市首相“台湾”発言で中国が強硬対応 発言撤回求めたか… [BFU★]
- 岸田文雄「国民は不安よな 岸田、動きます」 非核三原則堅持の立場示す [175344491]
- 【悲報】中国→日本行きの航空チケット、高市有事の影響で50万人分がキャンセルされる [834922174]
- 【悲報】早速高市首相のせいで全国の民泊でキャンセルラッシュwwwwwwwwwwww 経営者も嘆き「こんな事は初めてだ…」😲 [871926377]
- んなっしょい🍬禁止🈲のお🏡
- 中国「高市が謝罪撤回しないとこれ全部なくなるけどどうする?」 [931948549]
- AI画像か判別する仕事あるけどお前らやる?
