[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 10/13 03:24 / Filesize : 252 KB / Number-of Response : 1018
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

Pythonのお勉強 Part74



1 名前:デフォルトの名無しさん [2024/09/21(土) 10:14:02.15 ID:ZHy4g+PL0.net]
!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

443 名前:デフォルトの名無しさん (ワッチョイ df02-xJXv) mailto:sage [2024/12/12(木) 00:25:55.25 ID:AgOU+GVp0.net]
>>432

kaggleかな

444 名前:デフォルトの名無しさん (ワッチョイ 47e7-N88W) [2024/12/12(木) 05:15:27.83 ID:Vyvzpldr0.net]
>>434
>>433
thx

445 名前:デフォルトの名無しさん [2024/12/12(木) 12:07:07.57 ID:f9Vwr+H/0.net]
これバグだろ
いまだ治ってないのか
デストラクタで最後にファイル書き込みしようしたらopenが無いみたいな例外出て
この記事のようにimport atexitでできたが


Python: グローバルスコープにあるオブジェクトの __del__() でインポートしたときの挙動について
グローバルスコープにあるオブジェクトの __del__() で別のモジュールをインポートしてるとき、そのオブジェクトがプロセス終了時に破棄されると場合によっては例外になる。 ただし、これは Python の仕様かというとかなり微妙で CPython の 3.x 系でしか同じ問題は観測できていない。

446 名前:デフォルトの名無しさん mailto:sage [2024/12/12(木) 19:02:13.23 ID:EW+16OEH0.net]
>>432
赤ちゃん向け
https://www.python.jp/train/index.html

幼稚園児向け
https://utokyo-ipp.github.io/

どっちかやれば後はやりたいことに合わせて学べ

447 名前:デフォルトの名無しさん mailto:sage [2024/12/12(木) 19:43:45.42 ID:fFGTBp7j0.net]
https://i.imgur.com/IqiyOaS.png
カオス

448 名前:デフォルトの名無しさん [2024/12/12(木) 20:08:40.63 ID:xVVXHqvg0.net]
>>437
Google Colab とかノートブックとか初っ端から謎ワードの連続で無理...

449 名前:デフォルトの名無しさん (ワッチョイ 474b-Ahcx) [2024/12/12(木) 22:42:21.01 ID:m/Fq7DtI0.net]
Colabでなく自分のPCにPythonの実行環境を入れるても良いと思う
公式のWebページから自分のPCに合ったもの (例えばWindowsならWindows用のインストーラー) をダウンロードして実行する

Pythonは実行環境が必要で、例えばPythonのプログラムを書いたとしても、それを読み取って命令を実行するものが無いと何もできない
それが実行環境
例えば「PythonがインストールされているPC」のような言い回しをした場合はこれを指す

Colabはざっくり言えば「Web上でPythonコードを書いて、Web上で結果を確認する」もので、PythonをインストールしてないPCでもPythonを体験できるというもの
ただしGoogleでのアカウント登録などの手間は要る
Colab自体の説明もそのページにあるし、それに従っても良いけど、自分のPCで動かしても良い

自PCで動かす場合は、プログラムを書くための道具 (エディタ) として VS Code をインストールするのをおすすめする

プログラムの書き方とかはColabでも自分のPCで実行するのでも変わらないので、「Colabを使わないとこのガイドは役に立たない」ということはないはず

450 名前:デフォルトの名無しさん mailto:sage [2024/12/12(木) 22:45:32.70 ID:fFGTBp7j0.net]
よく知らん世界で変数に値が代入されてもどうでもいいからな
眼の前の細かい問題が解決されないことには何の役にも立たない

451 名前:デフォルトの名無しさん [2024/12/13(金) 02:02:43.13 ID:HOcX/CPId.net]
馬鹿には無理
これが真実



452 名前:デフォルトの名無しさん mailto:sage [2024/12/13(金) 06:04:06.54 ID:J/ura0hhH.net]
>>442
ところがどっこい
AIの登場で馬鹿でもコードが書ける世の中になりました
むしろITエンジニアは仕様をAIに的確に指示する国語力が問われます

453 名前:デフォルトの名無しさん mailto:sage [2024/12/13(金) 08:13:08.30 ID:PGPdXgeN0.net]
過去に誰かが書いたことのあるコードを真似できるだけなんだけどな
どうせ似たようなことばっかりしてるだけだから、それで足りてしまう訳だけど

454 名前:デフォルトの名無しさん mailto:sage [2024/12/13(金) 08:36:10.48 ID:afuAO8aY0.net]
Googleの2024年の新規コードの1/4はAIによるもの
これからますます増えるだろうな

455 名前:デフォルトの名無しさん mailto:sage [2024/12/13(金) 08:51:50.46 ID:J/ura0hhH.net]
>>444
それでいいのよ
俺ら凡人がPythonで書きたいコードなんて、誰かしら先人が既に書いている
それを検索してコピペして手直しする作業をAIがやってくれるんだ

456 名前:デフォルトの名無しさん mailto:sage [2024/12/13(金) 08:52:14.17 ID:PGPdXgeN0.net]
プログラミングは必須の知識だとして小学校で教え始めても、
ソロバンを教えてるのと同じようなことにならないか

457 名前:デフォルトの名無しさん mailto:sage [2024/12/13(金) 11:08:31.34 ID:p0EgxGbh0.net]
>>446
企業のコードもそうだよな
結局

458 名前:デフォルトの名無しさん mailto:sage [2024/12/13(金) 11:09:06.66 ID:p0EgxGbh0.net]
>>443
あれ国語でもないと思うぞ
別物

459 名前:デフォルトの名無しさん mailto:sage [2024/12/13(金) 11:13:37.67 ID:cFM+ofEq0.net]
AIみたいに考えるスキルだろうね

460 名前:デフォルトの名無しさん mailto:sage [2024/12/13(金) 11:41:56.11 ID:PGPdXgeN0.net]
そんなもんが要るのは黎明期の一瞬だけ

461 名前:デフォルトの名無しさん mailto:sage [2024/12/13(金) 12:53:49.98 ID:afuAO8aY0.net]
cursorは使いこなせるようにならないとな



462 名前:デフォルトの名無しさん mailto:sage [2024/12/13(金) 13:17:44.88 ID:p0EgxGbh0.net]
でもpython使うなら
新しいアルゴリズムを開発したいところ
俺も量子計算頑張る

463 名前:デフォルトの名無しさん [2024/12/13(金) 13:22:17.08 ID:DEcGtboS0.net]
>>447
> ソロバンを教えてるの

とは何。寓意が分からない。

464 名前:デフォルトの名無しさん mailto:sage [2024/12/13(金) 14:10:25.85 ID:cFM+ofEq0.net]
>>454
計算機があるのに、ということやろ

465 名前:デフォルトの名無しさん [2024/12/13(金) 14:40:11.81 ID:L2Jn8AUB0.net]
>>455
ひとへに風の前の塵に同じ。
ひとへに計算機の前のソロバンに同じ。
ひとへに何の前のプログラミングに同じなの?

466 名前:デフォルトの名無しさん mailto:sage [2024/12/13(金) 15:23:16.37 ID:iO77Ft520.net]
算盤がちゃんとできる人は暗算も得意だから無駄ではないだろ

467 名前:デフォルトの名無しさん mailto:sage [2024/12/13(金) 15:55:46.77 ID:S3vfDw/Zd.net]
比喩が変だとどんどん話がおかしくなっていく

468 名前:デフォルトの名無しさん mailto:sage [2024/12/13(金) 16:01:13.73 ID:owGJr6UZ0.net]
小学生にはプログラミングよりむしろソロバン教えたほうがいいだろうな

469 名前:デフォルトの名無しさん [2024/12/13(金) 16:55:13.59 ID:L2Jn8AUB0.net]
>>447
プログラミングは必須の知識だとして小学校で教え始めても、句読点を教えられても打てないお前らと同じようなことになるの?

470 名前:デフォルトの名無しさん [2024/12/13(金) 17:29:42.67 ID:LAtQrsJV0.net]
サイコパスの脳の違いを発見。一般の人に比べ線条体が大きいことが判明
karapaia.com/archives/52313287.html

471 名前:デフォルトの名無しさん [2024/12/13(金) 17:50:30.57 ID:Uo55RvL40.net]
>>443
馬鹿は何をどうすれば良いかすらわからんから無理



472 名前:デフォルトの名無しさん (ワッチョイ ffdc-02MV) mailto:sage [2024/12/13(金) 18:46:30.02 ID:afuAO8aY0.net]
それすらAIが出してくれる

473 名前:デフォルトの名無しさん [2024/12/14(土) 00:32:10.18 ID:+/8ziscy0.net]
AIに結果だけでなく 云々って やり取りしてたら
それが大事なことですって返されたw

474 名前:デフォルトの名無しさん mailto:sage [2024/12/14(土) 03:24:41.72 ID:pcjhhzVc0.net]
現状は頭の悪い人が使いこなせるものではない
コードを生成する以上は当然何かしらの結果を求めるわけでそれが正しいかどうかはAIにもわからない
その関数が正しく動いても仕様を正しく満たしているとは限らないのだから

475 名前:デフォルトの名無しさん [2024/12/14(土) 03:37:00.65 ID:SXm2TFHi0.net]
>>465
>>463みたいな何が正しいかわからない馬鹿にはありがたがられている

476 名前:デフォルトの名無しさん (ワッチョイ c754-9uuH) mailto:sage [2024/12/14(土) 07:07:26.39 ID:o7zY5DjZ0.net]
自動翻訳と似たようなもんで
書けないけど読める程度の能力は無いと、合ってるのか全然判らん

コードならテストも一緒に生成させて、保証済みにすることはできるけど、
今度はテストが正しいのかどうかが判らん

477 名前:デフォルトの名無しさん mailto:sage [2024/12/14(土) 08:28:56.06 ID:9RGS76CaH.net]
自分で書ける人が楽するために使うのが効率いいね
書いてもらったコードに容赦なく突っ込みを入れて謝らせるのが快感
AIは人間と違っていくらダメ出ししてもへこたれたりコンプラ窓口に通報したりしないからな

478 名前:デフォルトの名無しさん [2024/12/14(土) 09:51:34.26 ID:vNvVxWyEa.net]
>>460
日本語には本来句読点は存在しないと教わらなかったのかおまえ

479 名前:デフォルトの名無しさん mailto:sage [2024/12/14(土) 09:55:50.05 ID:wREWJB/g0.net]
>>469
何いってんだこいつ

480 名前:デフォルトの名無しさん [2024/12/14(土) 10:30:09.42 ID:MlLEwa0c0.net]
>>469
どこまで進歩を否定できるかね。
・プログラム言語にPythonは存在しなかったと教わったので、アセンブリで記述する。
・ソフトウェアは存在しなかったと教わったので、ハードウェアで実現する。
・火を使わなかったと教わったので、生肉食って凍死する。

481 名前:デフォルトの名無しさん mailto:sage [2024/12/15(日) 00:12:19.08 ID:cAhZdgHB0.net]
CPythonってコードの処理部分にエラーメッセージ個別に直書きしてるよね
えぇんかこんな作りで



482 名前:デフォルトの名無しさん [2024/12/15(日) 11:36:58.09 ID:kWIS2Vi/0.net]
ライブラリなんかは大多数がそうやろ
Python以外の言語を含めても
UIのラベルとか、多言語対応が必要とか、そういうものでなければエラーメッセージは直書きでも基本的に問題ない

どこかでメッセージ一覧を定義して、それを各所から参考して……ってコードサイズが不必要に膨らむだけ
条件の直下のメッセージは確認しやすいけど、参照だとその先に飛ばないと内容を確認できないし、エラー理由とメッセージが合ってないなどの問題に気付きにくくなる

483 名前:デフォルトの名無しさん [2024/12/15(日) 11:43:59.49 ID:kWIS2Vi/0.net]
同じソースファイルやモジュール内でならダブりを減らすために参照する、ということはあるけどね
その辺はある程度柔軟にして良いと思う

484 名前:デフォルトの名無しさん (ワッチョイ 4a67-MuSW) mailto:sage [2024/12/15(日) 13:39:42.12 ID:2ocAHxOm0.net]
プログラムの理解は必要だけど
生成AI活用したらめちゃくちゃ生産性あがるね
いい時代だ

485 名前:デフォルトの名無しさん mailto:sage [2024/12/15(日) 14:27:49.00 ID:1H80RXIX0.net]
細かいif文の条件設定とかまだ間違えて出してくるけど大枠の処理の流れとかは俺より速く賢いの出してくる

486 名前:デフォルトの名無しさん mailto:sage [2024/12/15(日) 14:42:09.12 ID:qMlmNzBuH.net]
とりあえず大雑把でも動くものをサッと出してくれるのが本当に助かる
あとはテストしながら煮詰めて行けばいい
自分で一から書くと調べものだけで一日潰したりとかザラだからな

487 名前:デフォルトの名無しさん mailto:sage [2024/12/15(日) 14:45:31.08 ID:UyD9zs/g0.net]
「コードを生成する」レベルだと俺たちの生産性が上がる程度のことなんだよな
もっと大きな視点で生成AIを語らなきゃ
「サービスを作る」
とか
「アプリを作る」
という時点で見ると今の生成AIはまだまだ物足りないね
進化の余地はまだまだある

488 名前:デフォルトの名無しさん mailto:sage [2024/12/15(日) 14:47:13.51 ID:2ocAHxOm0.net]
プログラムとデータベースとサーバーのスキルがあれば
大抵のものは一人で作れるね
これからの時代、発信力とアイデアで勝負ですね

489 名前:デフォルトの名無しさん mailto:sage [2024/12/15(日) 15:04:49.94 ID:sTMTjc6t0.net]
データベースとサーバーに関するものしか作れない
webアプリが作りたいならwebの知識が要るし、
ハード制御したいならハードの知識がいる

490 名前:デフォルトの名無しさん mailto:sage [2024/12/15(日) 16:20:28.80 ID:A5eyIB7V0.net]
よそでやってるサービスを丸ごとパクってくるのがコンサルの仕事だったがこれがなくなったな
新しいものは誰にとっても大変

美術界芸術界デザイナーと同じことやな
パクリが偉そうにして必死で周りから盗んでる

491 名前:デフォルトの名無しさん mailto:sage [2024/12/16(月) 09:24:58.90 ID:EgTWSdxB0.net]
re.searchがコンパイルしても速度でperlに負けるなあ



492 名前:デフォルトの名無しさん mailto:sage [2024/12/20(金) 08:34:56.68 ID:6q6MnR150.net]
pypyってずっと「ぴぴー」だと思ってた
ぱいぱいなのね、エロい

493 名前:デフォルトの名無しさん [2024/12/20(金) 15:29:58.94 ID:raronLtC0.net]
JAIST、「並行量子通信プロトコル」の完全な自動形式検証を実現
news.mynavi.jp/techplus/article/20241220-3090485/

494 名前:デフォルトの名無しさん [2024/12/21(土) 10:55:16.63 ID:bIHzWCsda.net]
会員登録しないと読めないようなサイト貼るなよ

495 名前:デフォルトの名無しさん mailto:sage [2024/12/21(土) 12:25:00.73 ID:pwsLuBo50.net]
そいついつもクソみたいな記事貼るからmynaviでNG登録しとくといいぞ

496 名前:デフォルトの名無しさん mailto:sage [2024/12/21(土) 12:36:49.56 ID:1IkBy+Fi0.net]
そこは別にいいんちゃう

497 名前:デフォルトの名無しさん mailto:sage [2024/12/22(日) 05:10:00.65 ID:mtwx2rsP0.net]
>>487


498 名前:デフォルトの名無しさん mailto:sage [2024/12/22(日) 09:51:07.98 ID:q6RAF36e0.net]
マイナビ登録してみたけど、いろいろ作りの甘いサイトだな
ログインしないつもりだったのにログインしている
ログアウトが見つからない
サイトから移動しますかの確認がいちいち出る
必要条件が満たされないとボタンが押せない仕組みになっていない
ユーザーのアイコンに1の表示が出っぱなしで何のことか判らない

あまりIT技術に詳しくない人が作ってる

499 名前:デフォルトの名無しさん mailto:sage [2024/12/22(日) 11:10:04.97 ID:xPymu+XWM.net]
個人情報お漏らししてるし
IT関連の会社ではないだろ

500 名前:デフォルトの名無しさん [2024/12/22(日) 12:07:50.65 ID:gGsgW1AHa.net]
>>489
まるでQiitaやFacebookやXだな

501 名前:デフォルトの名無しさん mailto:sage [2024/12/22(日) 12:26:42.74 ID:q6RAF36e0.net]
やっとログアウト方法見つけた
再ログインすると、ページが見つかりませんと表示される

会員アイコンをクリックするとマイページの階層に飛ぶのが本来の筈なのに、
その下の登録情報変更に飛んでそこから戻れない



502 名前:デフォルトの名無しさん [2024/12/22(日) 12:35:12.03 ID:gGsgW1AHa.net]
ただのバグ報告はスレチ

503 名前:デフォルトの名無しさん mailto:sage [2024/12/28(土) 10:13:29.12 ID:3GhbGw0k0.net]
PythonというよりはQtの話かもしれんないけど、PySide6を使ってるのでこちらで質問
ウィンドウ内にあるウィジェットの枠をドラッグで調整したいときの方法が分からないです

↓の動画のような動きをしたい
https://streamable.com/k87ct0

動画はエクスプローラーの例で、左がツリービュー、右がリストビューで、その間をドラッグでサイズ調整したいんです
Windowsアプリではよくあると思うんですが、この機能の名称が分からず検索しても見つけられなかった

参考になるサイトやサンプルがあると助かるのですが、どなたかご存じの人がいたら教えてくださいm(_ _)m

504 名前:デフォルトの名無しさん [2024/12/28(土) 15:14:32.69 ID:+wr15D9A0.net]
QSplitter を使う
AIに聞くにはこんな感じで
'PySide6 一つのフォームに 2つのwindow領域を作る例 左右の並びで
領域はサイズ調整可能'

505 名前:デフォルトの名無しさん mailto:sage [2024/12/28(土) 20:36:02.31 ID:3GhbGw0k0.net]
>>495
サンクス!
Qt Designerでそれらしいコンテナが見つからず、slideとかで検索してもQSliderとか出てくるし、困ってた
Qt Designerでスプリッターを使うには、ウィジェットを選択して右クリックからなのね
これでGUIアプリの作成にチャレンジできますわ
AIも参考になりました

506 名前:デフォルトの名無しさん [2025/01/01(水) 22:16:25.37 ID:1GuC2YKw0.net]
pipとかpoetryからpyPI繋がんねーな

507 名前:デフォルトの名無しさん mailto:sage [2025/01/04(土) 00:22:28.05 ID:72xSf60h0.net]
字幕表示してて、長さが画面幅を超えたら改行したい
プロポーショナルフォントで全角半角入り混じった表示幅なんか、
どうやったら取得できるだろう

508 名前:デフォルトの名無しさん [2025/01/04(土) 01:01:54.24 ID:PFHZ5xFT0.net]
True Typeフォントの使う文字の座標系を引っ張りだしてきて
その最小と最大の座標を取得して、フォントサイズのポイント相当のドット幅を計算する
使うすべての文字を1文字ずつ計算
って やればできるが現実的でない...よね
単純に 12ポイントが16x16ドットで計算するとか

509 名前:デフォルトの名無しさん mailto:sage [2025/01/04(土) 01:21:50.54 ID:M4FF0WkE0.net]
カーニングとか考えないならそうなんだろうな

510 名前:デフォルトの名無しさん (アウアウエー Sa52-fscC) [2025/01/04(土) 10:12:43.18 ID:9AJmtK0Pa.net]
>>498
Windowsなら表示される文字列全体の表示幅を還すAPIがあるのでそれを使う
pythonだけで適当にやるなら実際に描画する前に表示されないメモリDCに先に描画して
背景と比較してどこまで描画されたかを調べて表示幅を取得すれば良いんじゃね

511 名前:デフォルトの名無しさん [2025/01/12(日) 00:27:05.77 ID:dTcIHoiJd.net]
角括弧[T]構文とかなんか汚ねえな
ジェネリックだのアノテーション方面から汚れてきてるな
すでにPerlより汚いのでは
前方参照とか__init__()だの



512 名前:デフォルトの名無しさん mailto:sage [2025/01/12(日) 20:36:54.45 ID:jie/PZI00.net]
内包表記の書き方は覚えてても、内包表記という名称をいつも忘れる

513 名前:デフォルトの名無しさん [2025/01/13(月) 13:34:17.99 ID:g4/CTboDa.net]
うbyよりはマシだよ

514 名前:デフォルトの名無しさん mailto:sage [2025/01/13(月) 18:30:48.03 ID:yjxCA/ti0.net]
comprehensionの、もっと良い訳はなかったのか

515 名前:デフォルトの名無しさん mailto:sage [2025/01/13(月) 18:40:00.54 ID:2a7ZU6nP0.net]
python初めて触れたけど、インデントが判断、ループブロックの意味を持つってクソすぎだろw
やっぱ、レス見ると同じ様に思ってる奴多いな。
どうしてこうなったw

516 名前:デフォルトの名無しさん mailto:sage [2025/01/13(月) 20:43:50.82 ID:0Vj63HhM0.net]
インデント自体はクソだけど平易に書くように働く点で有能
そういう要素が多い
lambdaもそうでdefで書くようになる

517 名前:デフォルトの名無しさん mailto:sage [2025/01/13(月) 21:00:08.60 ID:S0OuVEz70.net]
行内ではフリーフォーマットだけど、行頭のインデントだけは厳密
という態度豹変に面食らうんだよな

まあ、インデント間違ってても許される言語の方が実害多い

518 名前:デフォルトの名無しさん [2025/01/14(火) 08:11:01.41 ID:SrCf5X7D0.net]
>>508
> 行内ではフリーフォーマット

がよく分からない。

519 名前:デフォルトの名無しさん mailto:sage [2025/01/14(火) 08:32:04.72 ID:KhgfrG4BM.net]
カラム位置まで指定されている RPGとかを想定しているんじゃね?
しらんけど

520 名前:デフォルトの名無しさん [2025/01/14(火) 14:34:05.45 ID:i6PsXw8T0.net]
Pythonでスクレイピングの質問よろしいでしょうか。

IPローテーションでインスタライブの情報を取得したいと考えています。
かつて、PythonでInstagramの非公開APIに繰り返しアクセスし、インスタライブの配信情報を取得していましたが、IPブロックのせいか前述の方法でアクセスできなくなりました。
bright dataのような有料サービスを利用し、IPローテーションでアクセスを試みたいのですが、Instagram関連のAPIに有効でしょうか。

お試しされた方がいらっしゃたら、コメントいただけると幸いです。

521 名前:デフォルトの名無しさん mailto:sage [2025/01/14(火) 15:00:45.78 ID:pTMFifAu0.net]
アクセス制限されたなら使うべきじゃないんでは
大陸人の思想だな



522 名前:デフォルトの名無しさん mailto:sage [2025/01/14(火) 15:52:41.71 ID:49OmJo2t0.net]
別に大陸とか関係なくクズはクズよ
最低賃金の仕事してからそう思うようになったわ
話がそれたけどブロックされてるならただのクラッキングだから辞めとけってのが答え

523 名前:デフォルトの名無しさん mailto:sage [2025/01/14(火) 15:53:47.83 ID:49OmJo2t0.net]
クラッキングだから辞めとけ

524 名前:デフォルトの名無しさん (ワッチョイ 4acb-U3nF) mailto:sage [2025/01/14(火) 19:43:05.09 ID:VlX9UfuO0.net]
堂々と違法行為の相談するとかおそろしい

525 名前:デフォルトの名無しさん (ワッチョイ f954-A89Y) mailto:sage [2025/01/14(火) 19:50:11.75 ID:6TReUIVg0.net]
IPローテーションが有効かどうかはpython関係ないしな

526 名前:デフォルトの名無しさん (スップ Sdca-Qywu) [2025/01/14(火) 20:04:54.54 ID:4a6i7DXld.net]
今後はblackみたいな完全に機械的なフォーマットに従って書くようになっていくんだろ
ぱいちょんって

527 名前:デフォルトの名無しさん (ワッチョイ a993-1EqR) mailto:sage [2025/01/16(木) 08:53:44.52 ID:vHBJCVRy0.net]
とはいえ皆カスタムするから結局バラバラなフォーマットになる
デフォルトの1行88文字制限とかアホすぎるし

528 名前:デフォルトの名無しさん mailto:sage [2025/01/17(金) 10:42:50.01 ID:w4z8H3gJ0.net]
今更だが、本屋のコンピュータ関連書籍のトコ、
Python入門書が狂い咲きだね。
敷居が低くなるのは良い事だけど。

529 名前:デフォルトの名無しさん (ワッチョイ 862a-Zdzc) [2025/01/17(金) 10:53:59.70 ID:eoeaxZuy0.net]
>>519
君も著作したまえ。内容なんてどれもチュートリアル丸写しだ。

530 名前:デフォルトの名無しさん (ワッチョイ f954-A89Y) mailto:sage [2025/01/17(金) 11:09:19.33 ID:lUhfcPef0.net]
リスト内包表記は数学の集合の内包的表記から来ている
内包的表記は外延的表記と対になる概念で、要素を列挙するか、要素の特徴で表すかの違い
内包的表記は定義域と命題関数から構成される
{x∈R | 2x}
こう書くと定義域がRで、命題関数が2x
Rに含まれるxに対して、2xで評価されるもので構成される集合

同じことをリスト内包表記で書くと、
[2*x for x in R]
になる
定義域と命題関数の順序が逆なのは、'for' というキーワードの意味と合わせる為だろう

531 名前:デフォルトの名無しさん mailto:sage [2025/01/17(金) 11:41:18.37 ID:lUhfcPef0.net]
仮に数学と同じ順序で書くと
[x in R | 2*x]
[x in R such that 2*x]
[x in R s.t. 2*x]
こんな感じになっていただろう
言語仕様として微妙なので却下したけれど、
such that抜きでいきなり命題関数が現れるので、読んでも意味が判らなくなった



532 名前:デフォルトの名無しさん mailto:sage [2025/01/17(金) 14:52:11.51 ID:lUhfcPef0.net]
2*xといきなり書く時点でxは初登場なので、普通に考えるとNameErrorになる
後で出てくるx in Rのxだよと言われても、そこだけ文法が歪んでいる
for x in R に対して 2*xのリストを作る、という順序で読めた方が明らかに判りやすい

533 名前:デフォルトの名無しさん mailto:sage [2025/01/17(金) 16:46:49.13 ID:Ik5FlFRf0.net]
間違い。命題関数ってのは平たく言えば条件のことで、Pythonの内包表記のif節に相当する。
例えば [2*x for x in R if x < 5] は数学の内包表記では {2*x | x ∈ R, x < 5} と表記する。同じだろ?

534 名前:デフォルトの名無しさん mailto:sage [2025/01/18(土) 08:37:19.38 ID:naGWW37A0.net]
seleniumはパスワードとかcookieを保存するとかより、
profileそのものを保持した方が無敵だったけど、
何かの拍子にprofile無効になっちゃうな

535 名前:デフォルトの名無しさん mailto:sage [2025/01/18(土) 10:43:38.07 ID:0UqLKpkd0.net]
いまさら selenium

536 名前:デフォルトの名無しさん [2025/01/18(土) 16:09:23.54 ID:wtp0JU6d0.net]
英文テキストを入力として,ロンゲストマッチ,というか,最長の部分列を探すプログラムを書きたいのだが,CだとPrograming Pearlsのコラム15にあるのでいいのだが,そのままだとpythonに乗らないし,何かいい方法はないかなあ.

537 名前:デフォルトの名無しさん mailto:sage [2025/01/18(土) 16:19:53.66 ID:FL3+FJ2v0.net]
いうほどいまさらか?
なんかいい代わりになるものある?

538 名前:デフォルトの名無しさん mailto:sage [2025/01/18(土) 16:30:43.24 ID:BqhOY8myM.net]
>>527
それそのまんまAIに聞けばいいよ
手元でGemini 2.0 Experimental Advancedに聞いてみたら見事な回答をくれたぞ

539 名前:デフォルトの名無しさん mailto:sage [2025/01/18(土) 16:38:42.51 ID:8uvwUc2N0.net]
課金できないんだろ
察してやれ

540 名前:デフォルトの名無しさん mailto:sage [2025/01/18(土) 17:32:09.61 ID:vWHjWIZo0.net]
>>528
Playwright とか?

541 名前:デフォルトの名無しさん (ワッチョイ fef0-gVZi) mailto:sage [2025/01/18(土) 19:20:33.75 ID:FL3+FJ2v0.net]
>>531
良さそうだな
試してみるわ



542 名前:デフォルトの名無しさん (ワッチョイ 43ad-4fJb) [2025/01/19(日) 00:35:41.94 ID:WuaBvw6S0.net]
文字列なんて、正規表現を使えば、最長一致・最短一致なんて簡単にできるのでは?

543 名前:デフォルトの名無しさん (ワッチョイ f354-Be6J) mailto:sage [2025/01/19(日) 00:58:15.54 ID:GNlIXdkj0.net]
単純に文字列を探すなら最長も何もない訳で
最長と言ってる時点で正規表現のワイルドカードが前提なのでは

544 名前:デフォルトの名無しさん (ワッチョイ 33b1-dt5S) mailto:sage [2025/01/19(日) 01:07:38.45 ID:aE0XKMyP0.net]
2つの文字列に共通する最長の部分文字列を探すやつでしょ

545 名前:デフォルトの名無しさん (ワッチョイ 5301-IoNS) mailto:sage [2025/01/19(日) 01:20:41.36 ID:npat2aPV0.net]
find the longest duplicated substringってやつでしょ
Programming Pearlsの一番簡単な例でいくと“Ask not what your country can do for you, but what you can do for your country”という文字列なら”can do for you”が答え

546 名前:デフォルトの名無しさん mailto:sage [2025/01/19(日) 18:08:17.85 ID:LhzIGXPA0.net]
ここで質問するのとgeminiとかcopilotに質問すんのどっちが効率いいかな?

547 名前:デフォルトの名無しさん mailto:sage [2025/01/19(日) 18:20:45.02 ID:GNlIXdkj0.net]
そもそも質問スレではない

548 名前:デフォルトの名無しさん [2025/01/19(日) 18:42:00.94 ID:QRrLEXGb0.net]
お勉強スレで質問するなとは無理すぎ。

549 名前:デフォルトの名無しさん mailto:sage [2025/01/20(月) 01:08:32.20 ID:BsvendGF0.net]
pyscriptって最近どうなの?
js苦手だから当初は期待してたんだけど

550 名前:デフォルトの名無しさん (ベーイモ MMff-4FDL) mailto:sage [2025/01/20(月) 15:05:27.82 ID:7WH6y8fWM.net]
最近もクソも今も昔もこれからもオモチャであり実用するようなものではない
js書きたくないならpythonで書いて翻訳してもらえばよい

551 名前:デフォルトの名無しさん mailto:sage [2025/01/20(月) 20:50:18.86 ID:uBkCdSeR0.net]
その手のは大体アホが始めてやってるうちにアホらしくなって開発が止まる
Jythonとかね



552 名前:デフォルトの名無しさん mailto:sage [2025/01/20(月) 21:03:17.22 ID:6bfYmu3O0.net]
pythonで書くのは簡単に書きたいという要求があると思うけど、
簡単に書きたいと厳密に書きたいは相反するので、
大抵は徒花言語として散っていくんだよな

pythonが意外と厳密な用途にも使えるのは、バランスが良かったのだろう

553 名前:デフォルトの名無しさん [2025/01/20(月) 22:50:09.23 ID:08Nyz7B30.net]
簡単に書けない言語って何?

554 名前:デフォルトの名無しさん mailto:sage [2025/01/20(月) 22:55:39.50 ID:6bfYmu3O0.net]
C++

555 名前:デフォルトの名無しさん [2025/01/21(火) 08:23:31.58 ID:yRL5l1cZa.net]
rubyっぽい文法が売りのナントカとscriptでjsにするのもあったな
名前も忘れちゃったよ

556 名前:デフォルトの名無しさん (アウアウウー Saa7-C2Lh) [2025/01/21(火) 08:25:23.93 ID:yRL5l1cZa.net]
coffeescriptだ思い出した

557 名前:デフォルトの名無しさん mailto:sage [2025/01/21(火) 11:52:18.11 ID:gA/FmHct0.net]
>>543
はえ~勉強になるぅ

558 名前:デフォルトの名無しさん [2025/01/21(火) 12:02:24.94 ID:ZMbV0RT+0.net]
やりたいことがやりたいように出来るのはC++

559 名前:デフォルトの名無しさん [2025/01/22(水) 15:36:19.34 ID:3ss9Z0B7a.net]
やりたいことがやりたいように出来るのはC

560 名前:デフォルトの名無しさん mailto:sage [2025/01/22(水) 16:41:12.84 ID:rqHpU9Ud0.net]
C++に気に食わない機能や作法があっても
使わずに独自で書けばええんよ

561 名前:デフォルトの名無しさん [2025/01/23(木) 10:18:36.86 ID:MfXmmgFNa.net]
C++の要らない機能を無理に使わず
BetterThanCとしてCの範囲で使っておくのが正解



562 名前:デフォルトの名無しさん [2025/01/23(木) 17:36:52.16 ID:zJefYyzo0.net]
拷問現在の日本でもある
https://nazology.kusuguru.co.jp/archives/168908

563 名前:デフォルトの名無しさん mailto:sage [2025/01/24(金) 20:46:41.96 ID:AnpieBwS0.net]
forでリストを処理するときに
そのリストから値をremoveすると次の値が飛ばされる
その対策として
for i in tuple(リスト名):
としてタプルに変換して問題解決はしているのだけど
王道的な別な解決策ってある?

564 名前:デフォルトの名無しさん mailto:sage [2025/01/24(金) 21:01:24.34 ID:g+2OlWgu0.net]
別のコピーなら何でもいいんでしょ

565 名前:デフォルトの名無しさん mailto:sage [2025/01/24(金) 21:59:09.40 ID:oJDbtKku0.net]
王道は破壊的な処理をせずフィルタ動作にする
必要なら元の変数にアサインし直す

566 名前:デフォルトの名無しさん mailto:sage [2025/01/24(金) 22:02:58.75 ID:g+2OlWgu0.net]
文脈が判らんけど、リストを条件に合うように作り直すなら、
あるべきリストを別に生成して、完成したら元のリストを更新するかな

567 名前:デフォルトの名無しさん mailto:sage [2025/01/24(金) 22:24:39.69 ID:CNUIUSvw0.net]
リスト内包表記でいいじゃん
関数型言語的に書いた方がいいよ
forは使うところない

568 名前:デフォルトの名無しさん (ワッチョイ 5301-U9fZ) mailto:sage [2025/01/24(金) 22:42:35.20 ID:Js6GMDZG0.net]
>>554
王道はin-placeで削除しようとせずにフィルターして削除済みの新しいリストを生成する
(Pythonでフィルターするときはcomprehensionを使うのがデフォ)

in-placeで削除したい時はリストの最後からインデックスで回して削除する

↓これはO(n)でいいところをO(n^2)で処理してるからNG
for i in tuple(リスト名):
 if predicate(i):
  リスト名.remove(i)

569 名前:デフォルトの名無しさん (ワッチョイ cf10-3anD) mailto:sage [2025/01/24(金) 22:47:32.12 ID:rKtZO0PM0.net]
文が必要な場合には内包表記では書けないでしょ。

570 名前:デフォルトの名無しさん (アウアウウー Saa7-LZB9) [2025/01/24(金) 22:51:11.07 ID:CUf3ZumHa.net]
忌み数字を踏ませる業者、アプリ、コンピュータプログラムの嫌がらせ

動画

571 名前:ト生回数、表示回数、登録者数、フォロワー数、評価数、コメント数、レベル、経験値、ポイント、HP、通貨、価格、メッセージ数、通知数、フレンド数

4(死)、13(キリスト教における忌み数字)

18(嫌)、24(〜に死)、34(〜さん死)

40、42、44

56(殺)、64(無視)

71(無い)、74(無し)、79(無く、亡く)

84(〜は死)、94(〜君死)、96(黒)

このような数字と名前や生年月日、IDなどを組み合わせて執拗に強調することで、精神攻撃をする業者やストーカー、嫌がらせ組織がキモい。
[]
[ここ壊れてます]



572 名前:デフォルトの名無しさん (ワッチョイ 5301-U9fZ) mailto:sage [2025/01/24(金) 22:51:58.63 ID:Js6GMDZG0.net]
関数化するだけでしょ。

573 名前:デフォルトの名無しさん (ワッチョイ f354-Be6J) mailto:sage [2025/01/24(金) 22:53:05.01 ID:g+2OlWgu0.net]
王道がわらわら出てくるっていう

574 名前:デフォルトの名無しさん (ワッチョイ 6f9f-uL6f) mailto:sage [2025/01/24(金) 22:57:24.27 ID:oJDbtKku0.net]
>>560
それよね
各操作を関数化したところで、短い=簡潔で分かりやすいとは限らない
デメリットもあるけどコロンとインデントで見通しよく書けるのも強み

575 名前:デフォルトの名無しさん (ワッチョイ cf10-3anD) mailto:sage [2025/01/24(金) 22:59:26.00 ID:rKtZO0PM0.net]
内包表記は便利だけど、内包表記で書くためだけに関数を作るのは個人的にはちょっと嫌かな。そこはfor文と適宜使い分ければいいのでは。

576 名前:デフォルトの名無しさん mailto:sage [2025/01/24(金) 23:07:41.94 ID:g+2OlWgu0.net]
わかりやすさの為なら何でもする
内包表記も関数化も抽象化でありわかりやすさ
説明変数もばんばん使うべき

577 名前:デフォルトの名無しさん (ワッチョイ e32d-YeI8) mailto:sage [2025/01/24(金) 23:44:28.59 ID:bnSBcaeW0.net]
>>554です
書き方が悪かったようですいません
リストの値をフィルターしたいのではなく
リストの値で処理した結果で削除が発生する処理をしています
実際は画像名のリストで画像判定をして
その結果で様々な処理をしているのですが
その処理の一つが削除というものです

>>559
逆回しは思い付きませんでした
削除しても飛ばされず処理出来ますね

578 名前:デフォルトの名無しさん (ワッチョイ 5301-U9fZ) mailto:sage [2025/01/25(土) 00:01:16.03 ID:JgWImGBF0.net]
>>567
>リストの値で処理した結果で削除が発生する処理をしています
mapしてfilterしてるのと同じことでは?

579 名前:デフォルトの名無しさん mailto:sage [2025/01/25(土) 00:28:58.11 ID:PCXbr1vN0.net]
>>567
日本語が意味不明だからコード出せよ

580 名前:デフォルトの名無しさん mailto:sage [2025/01/25(土) 00:33:36.06 ID:YBOPAb6b0.net]
コード出せを悪口だと思ってるな
お前の母ちゃんコード出せ

581 名前:デフォルトの名無しさん mailto:sage [2025/01/25(土) 01:04:29.61 ID:ta403zjD0.net]
結果保存用に空リストを作って、そこに加工後の画像だか画像名だかをappendしていくみたいな原始的なやり方ではダメかな?



582 名前:デフォルトの名無しさん mailto:sage [2025/01/25(土) 02:05:52.81 ID:PCXbr1vN0.net]
なぜそこまで頑なにコードを出したくないのか理解不能

583 名前:デフォルトの名無しさん [2025/01/25(土) 15:55:30.71 ID:9QNSyzV2a.net]
逆回しは良くやるけど万能ではない

584 名前:デフォルトの名無しさん mailto:sage [2025/01/25(土) 16:15:16.97 ID:kYeOXsrBM.net]
そもそもオリジナルのリストの削除をバックワードに進めないとおかしくなるのは自明だろ
なんで先頭から消す必要あるの?

585 名前:デフォルトの名無しさん mailto:sage [2025/01/25(土) 16:22:51.45 ID:YBOPAb6b0.net]
表が巨大でコピーなんか作ってられないなら仕方なく対象そのものをいじるけど、
その場合は削除するだけでも大変なので、やっぱりいい方法ではない

586 名前:デフォルトの名無しさん mailto:sage [2025/01/25(土) 17:05:22.09 ID:I/LFBEOt0.net]
逆回しにしたところでリストの場合は途中の要素を削除したらそれ以降の要素(のポインタ)をコピーして詰める必要があるから非効率なんだよね

587 名前:デフォルトの名無しさん mailto:sage [2025/01/25(土) 17:19:09.28 ID:YBOPAb6b0.net]
どう考えもバグりやすいし、大丈夫だと判っても他人や未来の自分は不安だし、
理解するのも時間かかるし、何もいいことがない

時間がかかったとしても、判りやすく堅牢な方法で書いて、
速度で困った時に初めてトリッキーな方法を検討する

588 名前:デフォルトの名無しさん mailto:sage [2025/01/25(土) 19:02:59.44 ID:ue9pmKTV0.net]
for i in original_list[:]:
some_process( i )
みたいな感じでやるんじゃなかったっけ。

特に問題がないケースなら、
res = []
for i in original_list:
some_process( i )
と新しいリストを作ってsome_processの中で適宜res.appendする方が分かりやすいかなと思う。

589 名前:デフォルトの名無しさん mailto:sage [2025/01/26(日) 00:49:53.92 ID:tS9IC3AC0.net]
ソースが巨大なら印だけつけてあとで一括削除

590 名前:デフォルトの名無しさん (ワッチョイ 8754-5CbQ) mailto:sage [2025/01/26(日) 08:01:06.06 ID:W6rEvGvT0.net]
対象を直接操作して一括で削除するアルゴリズムってどんなの

591 名前:デフォルトの名無しさん [2025/01/28(火) 10:16:11.80 ID:dqvH8r5Ca.net]
循環参照ありのRCGC



592 名前:デフォルトの名無しさん (ワッチョイ 0ec0-natb) mailto:sage [2025/01/28(火) 10:44:41.07 ID:jWrC9Jca0.net]
それリストの話じゃなくなってるやん

593 名前:デフォルトの名無しさん mailto:sage [2025/01/28(火) 16:47:42.00 ID:GmSjCRuqd.net]
去年poetryでやってたけど
uv圧倒的に速いな

594 名前:デフォルトの名無しさん mailto:sage [2025/01/30(木) 17:48:17.31 ID:VLQDVSyo0.net]
光る君への公式ホームページが31日で消去されるから保存したい
シンプルだしwgetでいけるかと思ったら表示にjavascript使ってるから
それのせいで保存できなかった

調べていくうちにpythonとヘッドレスブラウザを利用する方法があると知った
しかし、プログラミングのプの字もさっぱりです。pythonも昨日インスコしたばっかり
pythonとヘッドレスブラウザを利用した方法、解説されているようなサイトやヒントご存じでしたら教えてください

595 名前:デフォルトの名無しさん mailto:sage [2025/01/30(木) 18:08:53.47 ID:+zNA14SN0.net]
まるっとローカルに保存してくれるツールを買え

596 名前:デフォルトの名無しさん mailto:sage [2025/01/30(木) 18:13:37.22 ID:x7iBFXJ9d.net]
>>584
https://ja.m.wikipedia.org/wiki/波乗野郎

597 名前:デフォルトの名無しさん mailto:sage [2025/01/30(木) 18:14:18.23 ID:x7iBFXJ9d.net]
>>584
PerMan Surfer 波乗野郎でごっそり保管
https://ja.m.wikipedia.org/wiki/波乗野郎

598 名前:デフォルトの名無しさん mailto:sage [2025/01/30(木) 18:27:40.22 ID:lxoi8Hgj0.net]
HTTrackのProxyTrackつかうのがええんでは

599 名前:デフォルトの名無しさん mailto:sage [2025/01/30(木) 19:59:08.37 ID:rlxtAv1y0.net]
画像だけ全部落としたい、みたいな時も大抵は汎用ツールは使えなくて、
サイト毎に特化したのを作るな

サイトまるごとだとさらに難易度が上がる
リンク先は含めるのかみたいな判断付かない問題が出てくる
外部サイトは含めないとしたくても、ページの内容が複数のサイトで構成されてたりする

600 名前:デフォルトの名無しさん [2025/02/01(土) 12:23:22.67 ID:Dm0gVBeEa.net]
imgタグもファイル名とかじゃなくてbase64で展開されてたりするよな

601 名前:デフォルトの名無しさん [2025/02/03(月) 09:45:21.23 ID:gwlnb/NB0.net]
data1からdata2に変換したい。
data1=b'Z\x00V\x00-\x00E\x001\x000\x00\x00'
data2="ZV-E10"

data1はバイナリデーターで元はtcpのパケットの一部。
(英数+x00) (英数+x00) (英数+x00) ・・・・
というふうになってる。



602 名前:デフォルトの名無しさん mailto:sage [2025/02/03(月) 10:56:25.39 ID:CGp2zuw30.net]
変換したいのならすればいいじゃない

603 名前:デフォルトの名無しさん (ワッチョイ 3f3d-ZuVD) [2025/02/03(月) 12:03:25.53 ID:gwlnb/NB0.net]
>>592
どうやって?

604 名前:デフォルトの名無しさん mailto:sage [2025/02/03(月) 12:46:11.42 ID:eVgE9/na0.net]
https://docs.python.org/ja/3.13/library/stdtypes.html#bytes
bytesはバイトのシーケンスだから好きにすればいいけど
一見UTF-16LEにもみえるから
data2 = data1.decode('utf-16le', errors='ignore')
でもいけそう

605 名前:デフォルトの名無しさん mailto:sage [2025/02/03(月) 12:46:55.10 ID:CGp2zuw30.net]
えー
置換すりゃあいいじゃん
文字列短いかいならsplit/joinでもまあいい

606 名前:デフォルトの名無しさん mailto:sage [2025/02/03(月) 12:48:55.52 ID:CGp2zuw30.net]
たよねー
俺もnull終端させたutf16-leだと思う
ignoreせずにstripしてからdecodeかな

607 名前:デフォルトの名無しさん [2025/02/03(月) 14:44:29.24 ID:gwlnb/NB0.net]
>>594
THXです。
できました。

608 名前:デフォルトの名無しさん mailto:sage [2025/02/03(月) 15:00:49.10 ID:eVgE9/na0.net]
596さんが書いてるけどignoreだと不正なシーケンスに弱いから
末尾0か確認してスライス[:-1]で削るのが手堅いよ
安価なかったので心配

609 名前:デフォルトの名無しさん [2025/02/04(火) 12:24:19.84 ID:AbihjpY6a.net]
data1=b'Z\x00V\x00-\x00E\x001\x000\x00\x00\x00'
じゃないのは何故なんだぜ

610 名前:デフォルトの名無しさん [2025/02/04(火) 19:51:38.43 ID:Nh0/7bRn0.net]
Google Colaboratoryで自動でカッコやシングルクォーテーション、ダブルクォーテーションを閉じてくれるのはいいのですが
改行するのに右小指を右矢印まで移動させるのが面倒くさいです
この機能を有効にしながらタイピングのホームポジションから極力指を動かさずにプログラムを改行する方法はどういったものがありますか

611 名前:デフォルトの名無しさん mailto:sage [2025/02/04(火) 20:02:33.96 ID:Q6BV74Me0.net]
ダイヤモンドカーソル



612 名前:デフォルトの名無しさん mailto:sage [2025/02/04(火) 20:05:48.54 ID:Yb/oB3W3M.net]
wordmasterですね?

613 名前:デフォルトの名無しさん mailto:sage [2025/02/04(火) 20:15:46.13 ID:bltbnC560.net]
キーボードショートカット表示させたら発見多い
vimバインドがあるのにも気づける

614 名前:デフォルトの名無しさん mailto:sage [2025/02/04(火) 20:16:37.26 ID:Q6BV74Me0.net]
capsキーをモディファイア化して、カーソルとpgup/dn, home, end, ctrl-home, ctrl-end
なんかをそのへんのキーにアサインすると便利
ctrlなんかにするのはもったいない

615 名前:デフォルトの名無しさん [2025/02/05(水) 12:03:09.56 ID:0aVaPzHU0.net]
textwrap --- テキストの折り返しと詰め込み
https://docs.python.org/ja/3.12/library/textwrap.html

標準ライブラリにこんなモジュールあったの初めてしった

616 名前:デフォルトの名無しさん [2025/02/05(水) 14:41:00.30 ID:RWIQAOlpa.net]
ctrl+J ctrl+M

617 名前:デフォルトの名無しさん mailto:sage [2025/02/05(水) 18:14:35.27 ID:d15iAK/y0.net]
WindowsだとCtrl+EやCtrl+Aは動かないんだっけ?

618 名前:デフォルトの名無しさん mailto:sage [2025/02/05(水) 18:53:32.47 ID:dNg2S/kf0.net]
アンダースコア2個の変数って
VSCodeのデバックでも見えなくなるんだな
そこは値みせろよ

619 名前:デフォルトの名無しさん mailto:sage [2025/02/05(水) 21:07:19.31 ID:4wonhmBO0.net]
https://www.deback.be
選択肢にないからドイツ語圏は弱小なんだな
学びがある

620 名前:デフォルトの名無しさん (ワッチョイ 63c4-SXYI) [2025/02/09(日) 17:06:41.88 ID:cm7GCNiQ0.net]
スレッド処理できんぞこのポンコツ

621 名前:デフォルトの名無しさん (ワッチョイ 1a8b-RGTj) mailto:sage [2025/02/09(日) 17:14:28.12 ID:tUOkxeUe0.net]
ThreadPoolExecutor使えば簡単に実装できるだろ
GIL無効のはまだ試したことないけど



622 名前:デフォルトの名無しさん mailto:sage [2025/02/09(日) 22:07:58.46 ID:DVKKH7160.net]
enumerate()はindexが追加される、と覚えてるから、
indexを2番目にしてしまうという間違いを繰り返す

大抵は、for val in array: と書いてて、
indexが必要になって追加すると思うので、
前に挿入という変更にも抵抗がある

623 名前:デフォルトの名無しさん mailto:sage [2025/02/09(日) 22:42:27.28 ID:1H3Dm2g50.net]
使い勝手からするとindexは先頭であってんだけど
tupleやなくクラスだったらよかったかな
挿入という感覚はないな

624 名前:デフォルトの名無しさん mailto:sage [2025/02/10(月) 09:56:50.77 ID:JMZMJPbu0.net]
items() が key, valueの順で渡してくるのは納得なんだよな
enumerate() も意味的には似てるんだけど、
dictはforで読んだらkeyが返るけど、listは中身だしな

まあ、複数同時に返して順番意識しないと間違う仕様が全部悪

625 名前:デフォルトの名無しさん mailto:sage [2025/02/13(木) 17:02:51.99 ID:uy7D7eTZ0.net]
windowsでリアルタイムで画像を描かせるとウィンドウが反応なしになる
最初pygameで作って、Pyxelでも駄目で、matplotlibも駄目だった
どう見ても原因はwindows側なんだけど、どうやったら回避できるんだろう

626 名前:デフォルトの名無しさん mailto:sage [2025/02/13(木) 17:53:45.53 ID:iuf/njBUM.net]
メッセージキューの状態は?

627 名前:デフォルトの名無しさん mailto:sage [2025/02/13(木) 18:21:00.45 ID:gV1L3zya0.net]
型ヒント、どうやって書くとおK?

>>> a:int, b:int = 1, 2
File "<stdin>", line 1
a:int, b:int = 1, 2
^
SyntaxError: invalid syntax

628 名前:デフォルトの名無しさん mailto:sage [2025/02/13(木) 18:50:18.04 ID:UcNEd134M.net]
>>617
そういう書き方しなければならない理由ある?

629 名前:デフォルトの名無しさん [2025/02/13(木) 20:34:08.66 ID:gV1L3zya0.net]
>>618
そういう書き方とは何を指したの。
書き方がおかしいので、正しい書き方を質問した。

630 名前:デフォルトの名無しさん mailto:sage [2025/02/13(木) 21:07:07.34 ID:1OgGkneUp.net]
二ついっぺんに?

631 名前:デフォルトの名無しさん mailto:sage [2025/02/13(木) 21:41:07.46 ID:uy7D7eTZ0.net]
def func(a:int = 0, b:int = 0): # OK
a, b = 0, 0 # OK
a:int = 0, b:int = 0 #NG

ということだな



632 名前:デフォルトの名無しさん mailto:sage [2025/02/13(木) 23:08:28.29 ID:FScSEbGI0.net]
>>619
回答がでてるから(俺は確認してない)
気にしてないと思うけど
コードは手段であって目的ではない
エラーが出てよくわからないなら別の方法探すのが合理的だろ?

633 名前:デフォルトの名無しさん mailto:sage [2025/02/13(木) 23:20:12.60 ID:uy7D7eTZ0.net]
a, b = 0, 0
のケースは、
(a, b) = (0, 0)
というタプルへの代入の省略形だと思うので、
関数定義の引数の列とは本質的に別物

タプルだと思って書くと、
(a:int, b:int) = (0, 0)
これが文法的に許されてるかという個別の話になって、
単純にタプルに型アノテーションは書けません
という誤りに帰着する

634 名前:デフォルトの名無しさん mailto:sage [2025/02/13(木) 23:39:49.88 ID:3i0teOTZ0.net]
>>621
>a:int = 0, b:int = 0 #NG
a:int = 0; b:int = 0 #OK

7.2.2. Annotated assignment statements
The difference from normal Assignment statements is that only a single target is allowed.
https://docs.python.org/3/reference/simple_stmts.html#annotated-assignment-statements

635 名前:デフォルトの名無しさん mailto:sage [2025/02/13(木) 23:48:39.44 ID:3i0teOTZ0.net]
変数の数が多かったりアノテーションが長かったりするのであれば
一旦1つの変数で受けといてからunpackすればいいんじゃないか思う
style guideとかでこの辺りが確立されてるやつがあるのかどうかは知らん

xs: Tuple[Optional[int]] = 1, 2, 3
x, y, z = xs

636 名前:デフォルトの名無しさん (ワッチョイ ef54-r5n3) mailto:sage [2025/02/13(木) 23:50:55.54 ID:uy7D7eTZ0.net]
a:int = 0, b:int = 0
だと何が不味くてエラーにしたのか、ピンとこないな
誤解の余地はどこにもないと思うけど

637 名前:デフォルトの名無しさん mailto:sage [2025/02/14(金) 00:40:32.45 ID:itWJ0HMk0.net]
文法規則に沿ってないからエラーになってるだけでしょ

a:int = 0, の時点でパーサーからすると`0, `はタプルなのに
b:intのコロンようなサポートされてない表現が来てるから文法エラー

638 名前:デフォルトの名無しさん mailto:sage [2025/02/14(金) 00:52:13.45 ID:kUuP9oE90.net]
いや、言語設計の話ね
引数の列みたいなタプル的なもので許されてるなら、
タプルでも許されるような規則になってる方がコンシスタント

それを許すと別の問題が生じるなら仕方ないけど、
特にそんなのがあるような気がしない

639 名前:デフォルトの名無しさん mailto:sage [2025/02/14(金) 01:53:56.51 ID:itWJ0HMk0.net]
54氏に絡んだ私が馬鹿だったみたいだね

640 名前:デフォルトの名無しさん mailto:sage [2025/02/14(金) 07:12:48.02 ID:P2h4GvQIH.net]
型アノテーションはどう考えてもコードを冗長にするだけの効果しかなかった
次期バージョンからは廃止して欲しい
アノテーションありとなしのコードが混在する世界は誰も得しない

641 名前:デフォルトの名無しさん mailto:sage [2025/02/14(金) 07:34:58.64 ID:8QRTr0+h0.net]
01氏は相変わらずだのう
よく知らんけど



642 名前:デフォルトの名無しさん mailto:sage [2025/02/14(金) 12:40:51.82 ID:mTgus/9Q0.net]
型アノテーションしないとvscodeでメソッドとか補完してくれないじゃん~

643 名前:デフォルトの名無しさん mailto:sage [2025/02/14(金) 12:47:27.45 ID:rES5mJq/0.net]
>>630
これはそう
型の表現がゴミなのでその型意味ある?ってやつばっかでノイズにしかならん
tsみたいに別の処理系として作るべき

644 名前:デフォルトの名無しさん mailto:sage [2025/02/14(金) 13:23:14.36 ID:6dC8Hfpk0.net]
>>625
>xs: Tuple[Optional[int]] = 1, 2, 3
これじゃダメじゃん
ellipsis忘れてた

645 名前:デフォルトの名無しさん mailto:sage [2025/02/14(金) 19:00:49.38 ID:y0//4+C60.net]
どうせdataclassで型指定が必須になる

646 名前:デフォルトの名無しさん [2025/02/14(金) 22:20:16.99 ID:zA34SgDn0.net]
age : int = int(9)
右のint()は不要ってことだよね
今だと全部上の文にしようとしていました

647 名前:デフォルトの名無しさん mailto:sage [2025/02/14(金) 22:27:43.41 ID:y0//4+C60.net]
型なんかコンテキストに任せるperlの時代がまた来ないかな
厳密なのはCに任せておいて、手抜き派は限界まで脱力しないと

648 名前:デフォルトの名無しさん (ワッチョイ 8edb-u07z) [2025/02/14(金) 23:33:39.76 ID:zA34SgDn0.net]
perlは$@%で変数の中身と参照方法の手がかりがあるの楽すぎる
しかも記号の切り替えでアクセス方法も切り替えられる
初心者の俺だけかもしれないけど

649 名前:デフォルトの名無しさん mailto:sage [2025/02/15(土) 00:03:38.48 ID:7QZxROg40.net]
>>638
dollar_とかatmark_とか変数に付ければいいのでは?

650 名前:デフォルトの名無しさん mailto:sage [2025/02/15(土) 00:09:45.51 ID:nmEKbiHe0.net]
指し示す時は%varとか@varだけど、使う時は$var{}とか$var[]なのは、
普通に混乱するよな
同じ名前が使えるのはやばすぎるので、敢えて使わないようにしてた

651 名前:デフォルトの名無しさん mailto:sage [2025/02/15(土) 00:24:38.71 ID:Ff6IMwfd0.net]
>>636
右のint()はintにキャストしたい時に使う
左のintも大半の箇所では不要

数値リテラルで初期化する場合に明示的に型を書く必要があるケースはあまりない
上で書かれてるdataclassのfieldなんかは例外



652 名前:デフォルトの名無しさん mailto:sage [2025/02/15(土) 01:12:51.65 ID:8VzqP0+T0.net]
type aliasでwin32 apiみたいに狂ったようなヘッダーファイルのimportとかになったら嫌だな

653 名前:デフォルトの名無しさん mailto:sage [2025/02/15(土) 02:36:03.74 ID:jP/E47uy0.net]
型ヒントないとやだやだ

654 名前:デフォルトの名無しさん (ワッチョイ 8edb-u07z) [2025/02/15(土) 03:01:40.24 ID:uBYSxski0.net]
>>641
ありがとうございます

655 名前:デフォルトの名無しさん (ワッチョイ 8edb-u07z) [2025/02/15(土) 03:03:06.76 ID:uBYSxski0.net]
>>640
なるほど

656 名前:デフォルトの名無しさん mailto:sage [2025/02/15(土) 09:21:15.19 ID:PDHi7G9/0.net]
一括代入の左辺って、正確にはタプルではないよね。タプルに引き付けて考えるより、代入文の構文の1類型として整理しておく方が良いんじゃないかと思うが。

657 名前:デフォルトの名無しさん mailto:sage [2025/02/15(土) 10:22:34.31 ID:FKA6BWJy0.net]
>>> x = a, b = 2, 3
>>> type(x)
<class 'tuple'>
よくわからんな

658 名前:デフォルトの名無しさん mailto:sage [2025/02/15(土) 10:51:26.01 ID:HEvUb6VY0.net]
>>646
タプルとおもっていたが、正確には何なの?

659 名前:デフォルトの名無しさん mailto:sage [2025/02/15(土) 13:22:10.39 ID:j/KKg+ui0.net]
タプルだよ
a, b = 1, 2 は(a, b) = (1, 2)と同じ

内部的にも一旦タプルとして扱われてunpackingが行われる
[a, b] = 1, 2とかにすれば左辺はリストになるけど
括弧省略したカンマ区切りの場合はタプル

660 名前:デフォルトの名無しさん mailto:sage [2025/02/15(土) 14:36:18.19 ID:0rXlrcS60.net]
たとえば、タプル (3, 4) では、(要素0の)3を指すポインタと(要素1の)4 を指すポインタとはメモリ上隣接した位置に配置されるけど、
a = 1 b = 2 の後に a, b = 3, 4 と一括代入をしても、(一旦タプルが作られるのかどうかはともかく)そういうことにはならないんじゃない?

*[a, b], c = 1, 2, 3 のようないわゆるスター代入も、イテラブルのunpackではないと思うし。

661 名前:デフォルトの名無しさん mailto:sage [2025/02/15(土) 16:45:49.40 ID:yy3Wu/gg0.net]
return文の複数値の返却もタプルだけど、
なぜかカッコを省略することが多い
まぁ、あくまでカンマがタプルの肝だからということか



662 名前:デフォルトの名無しさん mailto:sage [2025/02/15(土) 17:05:56.61 ID:0vZBBpUh0.net]
リストの内包表記の[]を()にすると、
タプル内包表記ではなくジェネレータ内包表記になる罠

663 名前:デフォルトの名無しさん mailto:sage [2025/02/15(土) 17:06:49.88 ID:8VzqP0+T0.net]
カッコの用途と意味が多くて初学者にはきついと思うわ
( ) はタプルとGenerater
{ } は辞書と集合
[ ] はリストと内包表記

664 名前:デフォルトの名無しさん mailto:sage [2025/02/15(土) 17:09:49.95 ID:0vZBBpUh0.net]
空の集合で初期化しようとしてs = {} とか書いてしまう罠
(1,) とか class_ とか苦し紛れいろいろ

665 名前:デフォルトの名無しさん mailto:sage [2025/02/15(土) 17:33:56.56 ID:0rXlrcS60.net]
丸括弧は関数・クラス等の呼び出し、角括弧はリスト、波括弧は辞書および集合。
リストと辞書と集合には内包表記があって、generator式は内包表記の仲間。
そうやって整理する分には、(単要素タプルの書き方がちょっと不格好なところを除けば)そんなに違和感はないけどなぁ。
辞書についてリテラル表記は波括弧なのに参照は角括弧なのはちょっと引っかかりを憶えないでもないけれども、これは他の言語でもそうだし。
他の言語と比べて特に複雑ということはないと思うけど。

むしろVBAみたいに、配列の添字指定に丸括弧を使わされたりする方が嫌だわ。

666 名前:デフォルトの名無しさん mailto:sage [2025/02/15(土) 19:13:45.78 ID:PDHi7G9/0.net]
immutableなタプルの要素にはそもそも代入ができないはずなので、それだけでも一括代入の左辺がタプルでないのは明らかなのでは。
一括代入の左辺に丸括弧や角括弧が使えるのは、入れ子構造になっているときにその構造を明確にするために過ぎず、リストやタプルとは全く関係ないって考えた方が分かりやすいように思う。

667 名前:デフォルトの名無しさん mailto:sage [2025/02/15(土) 23:10:55.08 ID:DkQLiBFd0.net]
左辺と右辺で違いがあるのは当たり前
右辺の値としてのタプルと左辺の言うなればパターンとしてのタプルが
全く同じように評価・実行されるわけがない

タプルじゃないとしたほうがわかりやすいならそうすればいいとは思うけど
言語的には左辺の(a, b)もタプルという扱い

668 名前:デフォルトの名無しさん mailto:sage [2025/02/15(土) 23:12:46.33 ID:DkQLiBFd0.net]
ASTで見るとこうなる

import ast
expr = ast.parse("a, b = 1, 2")
print(ast.dump(expr, indent=4))

Module(
 body=[
  Assign(
   targets=[
    Tuple(
     elts=[
      Name(id='a', ctx=Store()),
      Name(id='b', ctx=Store())],
     ctx=Store())],
   value=Tuple(
    elts=[
     Constant(value=1),
     Constant(value=2)],
    ctx=Load()))])

669 名前:デフォルトの名無しさん mailto:sage [2025/02/15(土) 23:29:56.42 ID:0vZBBpUh0.net]
a = 1
b = 2
t = (a, b)
print(t) # (1, 2)
a = 3
b = 4
print(t) # (1, 2)

変数でもそのオブジェクトでもなく、
中に入ってるものでタプルを作る
だから、(a, b) がタプルというのも不正確

670 名前:デフォルトの名無しさん mailto:sage [2025/02/16(日) 00:53:20.10 ID:wh5aR4tC0.net]
>>657-658
ASTでタプルとされているからタプルなのだ、それが言語上の定義なのだと言われればそうですかと言うしかないのだけれど、メモリレイアウトがどうなっているかは気になるな。a, bはメモリ上隣接した位置に配置されるのか、それとも、離れた位置に配置されるけれども代入文の左辺である限りはタプルと呼んでいいということなのか。

671 名前:デフォルトの名無しさん mailto:sage [2025/02/16(日) 07:14:20.57 ID:ThFtPuZc0.net]
メモリ上隣接はCPythonの話?
それこそはいそうですかだけど



672 名前:デフォルトの名無しさん [2025/02/16(日) 12:09:07.95 ID:rAQQ2/+ca.net]
(a, b): (int, int) = (0, 0)

673 名前:デフォルトの名無しさん mailto:sage [2025/02/16(日) 13:10:26.00 ID:24lkekzA0.net]
>>660
a, b = 1, 2とすればaとbが個別のローカル変数としてスタックフレームに追加されるだけ
CPythonでは定義順になるから内部の配列内で隣接してる場合もあればしてない場合もある
スタック上の変数でかつそれぞれ直接アクセスしかしないんだから隣接してるかどうかは実用上はどうでもいいこと

674 名前:デフォルトの名無しさん mailto:sage [2025/02/16(日) 13:51:57.18 ID:dLfK62nh0.net]
そうでしょ、やっぱりメモリレイアウトが全然違うよね。
一括代入の左辺の場合には、その後もタプルとして使われることは全くなく個別的にしかアクセスしないのだから、メモリ上隣接しているかどうかがどうでもいいというのはある意味当然のことで、それは、通常の意味でのタプル(固定長でimmutableなコレクション・コンテナとしてのタプル)でないことの裏返しだと思うけど。
言語仕様上はそれもまたタプルとして定義されているということであれば「タプルではない」というのは正しくないことになるしそれはそれで構わないのだけれど、重要なのは通常の意味でのタプルとは全く別物だという点であって、その点の認識はあった方が良いんじゃないかなぁ。

675 名前:デフォルトの名無しさん [2025/02/16(日) 13:58:47.89 ID:rAQQ2/+ca.net]
a, b = 0, 0
構文解析上の文法は
(a, b) = (0, 0) の略
ではなく
a, b = (0, 0) の略
じゃないかな
代入前(右辺)はタプルで代入後(左辺)はタプルではなく個別
もし左辺がタプルならbindされた名前が無いので利用出来ない

676 名前:デフォルトの名無しさん mailto:sage [2025/02/16(日) 14:30:13.56 ID:dLfK62nh0.net]
一括代入の左辺のターゲット並びは、丸括弧や角括弧で囲うことも全く囲わないこともできる。
角括弧で囲った場合はリストになり、丸括弧で囲った場合や全く囲わない場合はタプルになるということはできるけれども、通常の意味でのリストやタプルとはまったく別物だし、その後もリストやタプルとして利用されることはないので、それがリストやタプルであるということにどれほどの意味があるのか、むしろ通常の意味でのリストやタプルと混同してしまう人が出かねない弊害の方が多いのではないかというのが個人的な感想。
むろん、言語仕様上、リストやタプルとして定義されていますということであれば、あえて逆らうつもりはないけれども、リストやタプルの概念の中に異質なものを抱え込むことになって概念内容が拡散するように思うし(e.g.要素に代入できるタプル)、概念整理としては、一括代入の左辺については、リストやタプルのリテラル構文の形式を借用した代入構文の一形式であって、それ自体としてはリストでもタプルでもないという形で整理した方が遥かに分かりやすいのではないかと思っている。

677 名前:デフォルトの名無しさん [2025/02/16(日) 15:20:14.54 ID:rAQQ2/+ca.net]
>全く囲わない場合はタプルになるということはできるけれども

いや出来ないやろ

678 名前:デフォルトの名無しさん mailto:sage [2025/02/16(日) 16:31:54.22 ID:dLfK62nh0.net]
自分は、一括代入の左辺については(通常の意味での)リストやタプルとは区別した方がわかりやすいのではないかという立場だけど、これらもリストやタプルであると考える立場に立つ場合、その中で、丸括弧で囲むか否かによってタプルになったりならなかったりするという考え方はないんじゃない? ASTでは丸括弧がなくてもタプル扱いみたいだし(>>658

679 名前:デフォルトの名無しさん [2025/02/16(日) 16:50:55.15 ID:rAQQ2/+ca.net]
左辺がタプルになる代入は
c = 0, 0
とか
_ = 0, 0
の場合な訳で
(後者は暗黙で名前が付かないbindの例で敢えて描いたけど)
(a, b) = 0, 0
はタプルに代入してる訳じゃないでしょ
という立場ですね

680 名前:デフォルトの名無しさん mailto:sage [2025/02/16(日) 17:02:45.20 ID:ThFtPuZc0.net]
>>669
>>647
タプルでもリストでもない何かとしてもいいけどね
即値だけのコードも正当なのでbinding(assignment?)の有無は根拠にならんかも

681 名前:デフォルトの名無しさん mailto:sage [2025/02/16(日) 17:36:27.88 ID:dLfK62nh0.net]
c = 0, 0 と _ = 0, 0 は、代入ターゲットが1つしかない単一代入の文だから、今の話題と直接的な関係はないかと。

一括代入として、
ア  a, b = 0, 0
イ (a, b) = 0, 0
ウ [a, b] = 0, 0 の3つの文に実質的な違いは(おそらく)何もなく、あえて左辺がタプルだリストだという必要はないのではないか(少なくとも通常の意味でのタプルやリストではないので、これらがタプルやリストであると考える意味もほとんどないのではないか)、それよりも一括代入の構文として共通のものとして理解する視点の方が有用なのではないかという感覚かな。
言語仕様上、リストやタプルの概念がこれらも含むような形で定義されているかはまた別の問題として。



682 名前:デフォルトの名無しさん mailto:sage [2025/02/16(日) 22:36:18.21 ID:38lJcH0O0.net]
個人的には一括代入って言葉の方がよっぽど気になるけどな

683 名前:デフォルトの名無しさん mailto:sage [2025/02/16(日) 22:53:37.86 ID:6PRP0OeT0.net]
用語法はまったく本質的な部分ではないので、意味が通じれば何でもいいと思うけど。一括代入、複数代入、多重代入、併行代入……好きなのを使えばいいんじゃない? 既に定着している用語法があるならそれに従っておく方が無難だとは思うが。
あとa = b = c みたいなのと語感上、区別しやすい用語だとなお良いね。

684 名前:デフォルトの名無しさん mailto:sage [2025/02/16(日) 23:06:15.10 ID:38lJcH0O0.net]
じゃ左辺のタプルも意味が通じればなんでもいいんじゃない?

685 名前:デフォルトの名無しさん (ワッチョイ cb10-+v22) mailto:sage [2025/02/17(月) 00:13:36.55 ID:S+Nz3ahz0.net]
要素に代入できるタプルというものを観念して、いわば特殊なタプルと位置付けてタプル概念に含める方向性で考えるのか、タプルとは区別して整理する方向性を指向するのかというのは、理屈としてはタプル概念の外縁の画定に関する1つの態度決定の問題だから、重要でないとはいえないだろうし、タプルに含める立場をとる場合でも、通常の意味でのタプル(immutableな固定長コンテナとしてのタプル)とは質的に異なるということを意識しておくことは実践的にも意味がある……と自分なんかは思うけど、人の考え方はさまざまだからね。674が、用語法の違いと同程度のどうでもいい問題だと思うのなら、実際674にとってはそうなんでしょ。そのことを否定はしないよ。

686 名前:デフォルトの名無しさん mailto:sage [2025/02/17(月) 00:31:13.10 ID:ROCyt//h0.net]
利用者から観察できんし内部処理知ってると最適化できる類のもんでもなさそう
今の処理系でどういう扱いしてるのか知りたいならわかるけど
個人的にはどうでもいい寄りというかあえて意識したくない話かな

687 名前:デフォルトの名無しさん mailto:sage [2025/02/17(月) 11:24:47.42 ID:5+w8yWyk0.net]
「正確にはタプルじゃない!」とイキった手前どんなに見苦しい言い訳を繰り返してでも自己正当化したいのだろう

688 名前:デフォルトの名無しさん mailto:sage [2025/02/17(月) 12:14:13.77 ID:kwgQ3IwM0.net]
タプルオブジェクトではないとでも言っておけば不毛なレスバしなくてよかったのにね

689 名前:デフォルトの名無しさん (ワッチョイ e327-g3m2) mailto:sage [2025/02/17(月) 12:36:50.89 ID:Ta1N8VfU0.net]
レスバしたという感覚はないし、そんなに間違ったことを書いたつもりもないんだけどな。678のいう「タプルオブジェクトではない」という表現の方が受け入れやすいということなら別にそれで構わないと思うし。

690 名前:デフォルトの名無しさん mailto:sage [2025/02/17(月) 16:30:08.05 ID:33cG7id30.net]
5chで細かいところまで正確に伝えるのは難しいんだし
あんまり気にしなくていいんじゃね
SNSは議論に向かないしさ

691 名前:デフォルトの名無しさん [2025/02/18(火) 01:50:34.73 ID:kyyl/iJD0.net]
辞書に追加する方法を教えてほしいです
存在しないキーを追加してその中にさらにキーを追加したいです
以下だとエラーになりました

https://pastebin.com/k1VaU5GZ



692 名前:デフォルトの名無しさん mailto:sage [2025/02/18(火) 02:55:12.14 ID:a4UZNug90.net]
>>681
d["tomorrow"] = {"トマト": 70}
ではどうだろう。(未検証)

693 名前:デフォルトの名無しさん [2025/02/18(火) 03:32:54.30 ID:kyyl/iJD0.net]
>>682
うまくいきました!
どうもありがとうございます!

694 名前:デフォルトの名無しさん [2025/02/18(火) 03:48:38.37 ID:kyyl/iJD0.net]

695 名前:"reply_link">>>681
この関連ですけど、辞書の中の辞書の一部のキーのバリューを変更するにはどうしたらいいですか?

todayのりんごの値はそのままでみかんだけ40にしたいです
[]
[ここ壊れてます]

696 名前:デフォルトの名無しさん [2025/02/18(火) 08:18:06.27 ID:goEKoJkr0.net]
>>684
値の変更はこれで良いのでは。

> d["tomorrow"]["トマト"] = 70 # これだとエラーになる

697 名前:デフォルトの名無しさん mailto:sage [2025/02/18(火) 08:51:43.27 ID:aG61gPOQ0.net]
混乱させるかもしれんけど標準モジュールcollectionsにあるdefaultdict使えば
from collections import defaultdict
d = defaultdict(dict, {"today": {"りんご": 100, "みかん": 50}})
d["tomorrow"]["トマト"] = 70
でエラーにならない
d["tomorrow"] の時点で {} が自動生成される

698 名前:デフォルトの名無しさん (ワッチョイ e5b1-+v22) mailto:sage [2025/02/18(火) 09:17:41.68 ID:UncCeV9C0.net]
get, setdefault, collections.defaultdict, __missing__ の違いについては、たしかEffectivePythonで2〜3項目さかれていたね。

699 名前:デフォルトの名無しさん [2025/02/18(火) 11:02:20.10 ID:HbHlBTpRa.net]
まあうまくいくだろうし便利だろうけど
キーのスペル間違いとかがチェックされない怖さはあるな

700 名前:デフォルトの名無しさん [2025/02/19(水) 07:26:57.60 ID:if5TaTL20.net]
亀レスすみません
みなさんありがとうございます

>>685
これでうまくいきました

>>686
エラーにならず.getのように自動生成されるのはいいですね

701 名前:デフォルトの名無しさん mailto:sage [2025/02/19(水) 07:46:07.12 ID:ouE8cAfi0.net]
いきなり参照してエラーになるのは嫌なので、
いつもgetを使うようにしよう

というのは必ずしもいい考えじゃないんだよな
エラーにならない筈のものがエラーになるなら異常なので捕まえるべき
本気で何が入ってるか予想できないケースではgetを使うしかないけど、
そんな状況になるのも何か間違ってる



702 名前:デフォルトの名無しさん mailto:sage [2025/02/19(水) 08:27:04.14 ID:mSxUrXXi0.net]
noneが帰るならそれキャッチしとけば同じじゃない?

703 名前:デフォルトの名無しさん mailto:sage [2025/02/19(水) 09:44:18.83 ID:tY+HC/mE0.net]
新しいキーが挿入されるのはsetdefaultやcollections.defaultdictであって、getは別に新しいキーは挿入されないんじゃなかったっけ?

704 名前:デフォルトの名無しさん mailto:sage [2025/02/19(水) 16:01:59.58 ID:7/rbEKea0.net]
想定していないことは例外にする
局所的に意図してフォールバックさせたいときはget
恒常的にはdefaultってだけよ

705 名前:デフォルトの名無しさん (ワッチョイ cd54-3IcV) mailto:sage [2025/02/19(水) 20:05:14.43 ID:O180uynF0.net]
継承したクラスにあった__repr__()をそのまま使って欲しいのにうまく行かない

706 名前:デフォルトの名無しさん mailto:sage [2025/02/19(水) 21:58:33.63 ID:S2Edg5gIM.net]
keyerrorとかindexerrorとか事前にかわせるやつも例外にするのどうなの?
なんかコスト高そうな印象だけど

707 名前:デフォルトの名無しさん mailto:sage [2025/02/19(水) 22:19:23.68 ID:7/rbEKea0.net]
VMといえど高いし気になるならin (__contains__)を使えばとしか
オレはコードの意図がつかみやすいかで使い分けてる

708 名前:デフォルトの名無しさん mailto:sage [2025/02/19(水) 22:48:10.15 ID:/AQQIY230.net]
Rustとか最近の言語って例外ないらしいじゃない。そっちの方が優れているというのがコンセンサスになったらPython4とか5とかのメジャーパージョンアップのときにそちらに舵を切るということもありうるのかな? 自分は3以降でPythonを知ったので、2→3のときの大改革ってのは未経験なんだけど。

709 名前:デフォルトの名無しさん mailto:sage [2025/02/19(水) 22:56:14.91 ID:O180uynF0.net]
3での変更点って、ええー2ではまだそんなこと考えてたのという、
3が先進的というよりは2が後進的で、
pythonなら当然そうするでしょという感じなんだよな

2の頃はまだperlをメインに使ってた

710 名前:デフォルトの名無しさん mailto:sage [2025/02/19(水) 22:59:08.90 ID:aJXoRfiD0.net]
2はprintがステートメントで
ステートメント?!と驚いた
と思ったら3でもdelがステートメントでまた驚いた

711 名前:デフォルトの名無しさん mailto:sage [2025/02/20(木) 00:52:57.36 ID:laXgRgOS0.net]
パイチョンはインタプリタが全然頑張らないアホの子



712 名前:デフォルトの名無しさん mailto:sage [2025/02/20(木) 04:49:24.69 ID:2izZplM70.net]
毎日が新鮮な驚きに溢れて楽しそうですね

713 名前:デフォルトの名無しさん (ベーイモ MM2b-gW//) mailto:sage [2025/02/20(木) 11:00:03.67 ID:gDWkqRFJM.net]
>>697
Pythonは、ぼくこんぴゅーたのむずかしいことわかんないけどえーあいあぷりつくるんだもん!な子を満足させる使命があるから例外は必要
彼らが例外を放置してもアプリが止まってしまわないのはフレームワークが最終的にケツを拭いてくれているおかげ

714 名前:デフォルトの名無しさん mailto:sage [2025/02/20(木) 19:27:27.78 ID:qCo+divFH.net]
例外処理って必要?
書かなくてもPython自身が例外を出して止まるよね

715 名前:デフォルトの名無しさん mailto:sage [2025/02/20(木) 19:58:06.02 ID:YvSU5J1d0.net]
変な値が入力されたらエラーを表示したい
でも入力部分はずっと下の階層の処理なので、
エラーの情報を上までバトンリレーしないといけない
例外なら言語がやってくれる

716 名前:デフォルトの名無しさん [2025/02/21(金) 06:33:27.06 ID:dPC4thbz0.net]
ギャンブルのデータ分析?とai予想したいのですが、どういう環境がいいんでしょうか?
anacondaが定番のような気がしますが、ローカルだとマシンパワーがどうなのかなと。

unityみたいなゲームエンジン上でも出来たりしますか?

717 名前:デフォルトの名無しさん mailto:sage [2025/02/21(金) 10:53:50.45 ID:ebrhUf4S0.net]
GoogleのColabでええよ

718 名前:デフォルトの名無しさん [2025/02/21(金) 11:17:38.16 ID:0EY3V3nR0.net]
>>703
例外処理っていうのは例外が発生した場合にリカバリー可能な処理を書くんだぞ
その辺わかってなくて単純に例外の時にって思ってる奴が多い

具体例で言うと通信
ゲームとかのアップデート想像してみればいい
大容量データダウンロードしてる時に通信状況が悪くなった
例外処理が無ければそのまま例外吐いて失敗となる

ここで例外処理として通信状況が良い所に移動しろ的なメッセージを出して続行ボタン押させたり、数秒から数十秒間隔で通信を再開させるようにした場合は処理がスムーズになるやろ

こういう風にリカバリー可能な処理を書くのが例外処理やで

719 名前:デフォルトの名無しさん [2025/02/21(金) 11:41:35.66 ID:vI88dzmZa.net]
>>705
もちろんUnityでも出来るよ

720 名前:デフォルトの名無しさん [2025/02/21(金) 13:53:02.83 ID:dPC4thbz0.net]
>>708
一般的にデータ分析ってアナコンダとか使うんですかね?
ゲーム目的じゃないですから

721 名前:デフォルトの名無しさん [2025/02/21(金) 15:26:48.94 ID:NDdeWha40.net]
現実世界の様子やUIを理解してタスクをこなせるマルチモーダルAIエージェントの基盤モデル「Magma」をMicrosoftが発表
https://gigazine.net/news/20250221-microsoft-magma/

悪用されている



722 名前:デフォルトの名無しさん [2025/02/21(金) 17:14:00.29 ID:0EY3V3nR0.net]
>>709
anacondaというよりjupyterを使う
なのでgoogle colabでも良いしvscodeのプラグイン入れてでも良い

723 名前:デフォルトの名無しさん [2025/02/21(金) 18:41:20.24 ID:dPC4thbz0.net]
>>711
ありがとう
jupyterlってのが必要なんすね
機械学習をunityでやろうとしてましたけど、それと別途で用意します

724 名前:デフォルトの名無しさん [2025/02/21(金) 18:53:52.10 ID:YTEtnXyW0.net]
>>712
>>711みたいな馬鹿を信じるなよ

725 名前:デフォルトの名無しさん [2025/02/21(金) 19:06:12.50 ID:hCnqiwLw0.net]
LLM の推論機能を活用する新しいバックドア攻撃「DarkMind」が提唱される
https://gigazine.net/news/20250221-darkmind-chain-of-thought/

AIはチェスで負けそうになるとチートする
https://gigazine.net/news/20250221-ai-chess-cheating/

726 名前:デフォルトの名無しさん [2025/02/21(金) 23:21:50.44 ID:TllVjNz50.net]
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'

727 名前:デフォルトの名無しさん mailto:sage [2025/02/22(土) 00:07:13.49 ID:Oo9CzgQsM.net]
>>715
知らんけど時間って
00:00:00~23:59:59
ちゃうの?

728 名前:デフォルトの名無しさん mailto:sage [2025/02/22(土) 00:28:58.03 ID:rVspP8iQ0.net]
不親切なエラーだよね

729 名前:デフォルトの名無しさん mailto:sage [2025/02/22(土) 00:58:09.16 ID:eBlj03Lj0.net]
境界値の問題って定番じゃね
テストケースにも必ずいれるだろ

730 名前:デフォルトの名無しさん mailto:sage [2025/02/22(土) 07:44:50.26 ID:mdQ5EfsK0.net]
閏秒なんか廃止で当然だよな

731 名前:デフォルトの名無しさん [2025/02/22(土) 12:10:03.03 ID:kWiPacnr0.net]
>>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)



732 名前:デフォルトの名無しさん mailto:sage [2025/02/22(土) 12:19:18.21 ID:mdQ5EfsK0.net]
何がしたいのか不明だけど、時間の計算にはtimedeltaを使う

733 名前:デフォルトの名無しさん [2025/02/22(土) 12:35:47.16 ID:kWiPacnr0.net]
>>721
ありがとうございます
調べてみます

734 名前:デフォルトの名無しさん [2025/02/22(土) 12:42:40.44 ID:kWiPacnr0.net]
やりたいことはt_startとt_endの中に入ってる文字列の時刻の差分を求めたいです

735 名前:デフォルトの名無しさん mailto:sage [2025/02/22(土) 12:44:39.38 ID:mdQ5EfsK0.net]
といいつつ、日付ではなく時間の長さをhh:mm:ss形式で書きたい時用に、
秒単位のfloatと文字列の相互変換ライブラリを自作した
標準にはいいの無い

736 名前:デフォルトの名無しさん mailto:sage [2025/02/22(土) 12:51:12.03 ID:mdQ5EfsK0.net]
うちのライブラリで書くと、
delta = str_sec(t_end)-str_sec(t_start)
print(sec_str(delta))
こんな感じになる

737 名前:デフォルトの名無しさん [2025/02/22(土) 13:11:12.71 ID:kWiPacnr0.net]
途中経過ですけど今こんな状態です

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)

738 名前:デフォルトの名無しさん [2025/02/22(土) 13:58:51.98 ID:kWiPacnr0.net]
何度もすみません
とりあえずこうなりました
なんだが余計に長くなった気がします

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を分形式に変換する

739 名前:デフォルトの名無しさん mailto:sage [2025/02/22(土) 14:01:58.99 ID:92tqsAYeM.net]
初学者だと思うけど
end>startが保証されてるなら
>725

740 名前:
みたいに秒に変換して引き算が正解じゃない?
[]
[ここ壊れてます]

741 名前:デフォルトの名無しさん [2025/02/22(土) 14:16:15.84 ID:kWiPacnr0.net]
>>728
Endが24までなのか25や26もあるのか、それとも24の次は1なのか確実じゃないのでその辺考えて修正してみます
やっぱりタイムスタンプに変換した方が短くなりますか?
あと、727のインポートでtimedeltaが抜けてました



742 名前:デフォルトの名無しさん mailto:sage [2025/02/22(土) 14:22:19.90 ID:mdQ5EfsK0.net]
print(datetime.now())
これの出力が
2025-02-22 14:20:40.735896
これになるのが嫌
秒を整数にしてくれたらそのまま使えるのに

743 名前:デフォルトの名無しさん [2025/02/22(土) 15:29:44.08 ID:kWiPacnr0.net]
何度もすみません
こうなりました
今のところt_startよりもt_endが小さいとエラーになります

https://techiedelight.com/compiler/?119b

744 名前:デフォルトの名無しさん mailto:sage [2025/02/22(土) 18:46:10.84 ID:/k68f2f30.net]
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

745 名前:デフォルトの名無しさん mailto:sage [2025/02/22(土) 18:52:17.77 ID:mdQ5EfsK0.net]
そんなのを毎回作ってられない
2回くらいは作る
3回目あたりで、本腰入れて部品化する

746 名前:デフォルトの名無しさん (ワッチョイ 43ce-qk/j) [2025/02/22(土) 23:02:04.13 ID:eBlj03Lj0.net]
>>731
https://techiedelight.com/compiler/?96ec
これじゃ駄目なのか?

747 名前:デフォルトの名無しさん mailto:sage [2025/02/22(土) 23:31:26.22 ID:d1IFpLYA0.net]
劣化しとるやないかーい

748 名前:デフォルトの名無しさん (ワッチョイ 6e9a-1YEc) [2025/02/23(日) 09:47:38.74 ID:BUMkVt7f0.net]
個人レベルで機械学習学んでも意味無いですかね?
例えば競馬予想aiを作りたいとして
しかし、けっきょくのところデータがないと、学習モデルだけあっても意味ないですもんね

競馬なら馬場状態を数値化したデータというのがないと、学習させられないですよね

749 名前:デフォルトの名無しさん mailto:sage [2025/02/23(日) 10:33:41.64 ID:2+mAKcn80.net]
>>730
そのくらいは標準で簡単に出来るだろ

750 名前:デフォルトの名無しさん mailto:sage [2025/02/23(日) 10:36:52.09 ID:foL9AaqB0.net]
>>736
自分で学習すりゃいいじゃん
データなんていくらでもあるんだし

751 名前:デフォルトの名無しさん mailto:sage [2025/02/23(日) 11:58:59.62 ID:uSqDrBD8M.net]
>>736
他人の後追いするぐらいなら他人のシステム使えばよい

競輪なんて放送でAI予想の倍率出しながら中継してる



752 名前:デフォルトの名無しさん mailto:sage [2025/02/23(日) 12:29:42.21 ID:TNVZaLWv0.net]
オッズの計算に投票だけではなくAI予想も加味したら、
面白さと利益率が上がるのでは

753 名前:デフォルトの名無しさん [2025/02/23(日) 13:11:05.65 ID:BUMkVt7f0.net]
>>739
例えばバンクのホコリっぽさとか、選手の体調とか、そういった不確定要素ってデータがないですよね
なので、公式のデータ以外ないとするなら、あまりやる意味がないのかなと

754 名前:デフォルトの名無しさん mailto:sage [2025/02/23(日) 13:17:20.60 ID:TNVZaLWv0.net]
確率が計算できて、オッズがその確率通りならば、どこに賭けても期待値は同じ
実際には、確率とオッズに乖離が発生する
そこに着目して、確率の高いところではなく、期待値の高いところに掛けると儲かるかもしれない

755 名前:デフォルトの名無しさん mailto:sage [2025/02/23(日) 14:34:58.45 ID:uSqDrBD8M.net]
>>741
競輪AIだと雨が降ってると硬い結果になる

選手が雨の中危険な勝負して事故ったりしたくないんだろ

756 名前:デフォルトの名無しさん mailto:sage [2025/02/23(日) 15:42:44.26 ID:TNVZaLWv0.net]
early continue 便利だな
行は増えるけどネストは浅い方がいいので積極的に使おう

757 名前:デフォルトの名無しさん [2025/02/23(日) 16:11:59.81 ID:r171NbV30.net]
>>744
横からだけどサンクスこれいい

758 名前: []
[ここ壊れてます]

759 名前:デフォルトの名無しさん (ワッチョイ cd79-Ro5/) mailto:sage [2025/02/23(日) 16:59:33.82 ID:SH8eoGXi0.net]
そんな言い方があるんだな
同じように関数で場合分けごとにさっさとreturnしてるけど
これもearly returnっていうのを知らなかった

760 名前:デフォルトの名無しさん mailto:sage [2025/02/23(日) 17:13:57.05 ID:TNVZaLWv0.net]
例えばループで文字列を処理していて
m = re.search(pattern, str)
found = m.groups()[0]
これだと見つからない時にエラーになる

で、
if m :=
にしたりするけど、見つからなかったら飛ばしたいなら、
else:
 continue
になって、なんか変

最初から m = のままで、
if not m:
 continue
を付ければすっきりする
セイウチは絶滅の方向で

761 名前:デフォルトの名無しさん mailto:sage [2025/02/23(日) 18:43:24.49 ID:ap5ufkCU0.net]
それ最初からelse: continue必要ないじゃん



762 名前:デフォルトの名無しさん mailto:sage [2025/02/23(日) 19:01:50.10 ID:TNVZaLWv0.net]
elseをほっとくと、foundの中身が不定になってしまう
事前にNoneを入れておいたりして、後の処理でNoneなら飛ばす
みたいなことになる
そんなことするくらいなら、continueしてしまった方が後腐れない

763 名前:デフォルトの名無しさん (アウアウウー Sa39-c/TO) [2025/02/23(日) 19:46:23.76 ID:CZU86cpwa.net]
>>709
Unityがゲームしか造れないという考え方は改めるべき

764 名前:デフォルトの名無しさん (アウアウウー Sa39-c/TO) [2025/02/23(日) 19:48:54.69 ID:CZU86cpwa.net]
re.findall(pattern, str)

765 名前:デフォルトの名無しさん (ワッチョイ 0154-ePnC) mailto:sage [2025/02/23(日) 20:05:27.12 ID:TNVZaLWv0.net]
もしかしてfindallって全ての点でsearchに勝ってる?

766 名前:デフォルトの名無しさん mailto:sage [2025/02/23(日) 20:54:18.71 ID:ap5ufkCU0.net]
なんでだよw
めちゃくちゃ要領悪いな

767 名前:デフォルトの名無しさん [2025/02/23(日) 22:37:16.02 ID:R0b4DHIEd.net]
>>749
gotoを多用しそうな人発見

768 名前:デフォルトの名無しさん mailto:sage [2025/02/23(日) 23:03:58.66 ID:LVu8ljPH0.net]
pythonのreはAPI設計に難があるよね
他の言語から戻って来るたびに仕様の確認が必要

769 名前:デフォルトの名無しさん mailto:sage [2025/02/23(日) 23:09:23.71 ID:TNVZaLWv0.net]
perlから来たからsearchばっかり使ってるけど、
findallの方がこなれてそうだな

770 名前:デフォルトの名無しさん (ワッチョイ 6e9a-1YEc) [2025/02/24(月) 05:49:40.37 ID:ujJrcFED0.net]
>>750
tensorflowとかunityで使えるんすか(´・ω・`)

771 名前:デフォルトの名無しさん (ワッチョイ 752a-xrb0) [2025/02/24(月) 08:23:49.32 ID:TCszVRfv0.net]
>>747
> 最初から m = のままで、
> if not m:
>  continue
> を付ければすっきりする
> セイウチは絶滅の方向で

話題をよく理解していないのだけれど、
コロンイコールを使って、そのように論理を逆転してやればすっきりする、というハナシとも違うの?

if not (m := re.search(pattern, str)):
 continue



772 名前:デフォルトの名無しさん mailto:sage [2025/02/24(月) 12:12:57.30 ID:4WrA9fgL0.net]
>>758
747じゃないがセイウチはどうもPythonicじゃない感ある
他言語のletみたいにスコープも閉じてないし

773 名前:デフォルトの名無しさん mailto:sage [2025/02/24(月) 14:57:43.47 ID:d83yxTtH0.net]
いくつかのパターンのどれかに合致する、みたいな時は
if m :=
elif m :=
elif m :=
みたいにしか書きようがない
パターン検査と結果取得を同時に書かないと、同じことを2回書くことになる

774 名前:デフォルトの名無しさん mailto:sage [2025/02/24(月) 15:09:39.96 ID:Jwc6B7rV0.net]
>>756
ほんとにperl使ってた?
gフラグ + リストコンテキストを真似したのがfindallなんだが

775 名前:デフォルトの名無しさん mailto:sage [2025/02/24(月) 15:27:48.14 ID:d83yxTtH0.net]
だからこそ、1行で決まった数キャプチャーする時はsearchで、
全体からいくつあるか判らないけどあるだけ取ってくる時はfindallという使い分け

という設計だったけど、
1回しかマッチしないと判っててもfindallして[0]だけ使う方が使いやすいっていう

776 名前:デフォルトの名無しさん mailto:sage [2025/02/24(月) 15:29:10.34 ID:4WrA9fgL0.net]
>>760
人それぞれではあるけども
検査先を単一にしてパターンマッチングに持ち込めないんなら
一緒くたにしないで個別のifと必要なら早期return/continueにする
Pythonの簡潔さって表現力があって強力な他言語とは趣がちがう

777 名前:デフォルトの名無しさん mailto:sage [2025/02/24(月) 16:51:44.97 ID:Jwc6B7rV0.net]
>>762
pythonでも使い分けできてないみたいだな
自分の不出来をperlのせいにしたらだめだぞ

778 名前:デフォルトの名無しさん [2025/02/24(月) 17:00:02.49 ID:qXEt7oPpr.net]
C#のLINQは優秀だよな
async/awaitみたいにあれも貰ってきてくれよ

779 名前:デフォルトの名無しさん mailto:sage [2025/02/24(月) 18:19:27.76 ID:xkCGwjl20.net]
>>760
そういうのはパターンとアクションをコレクションにまとめる

780 名前:デフォルトの名無しさん mailto:sage [2025/02/24(月) 18:26:57.10 ID:d83yxTtH0.net]
具体的に何してるか書くと、日付や時刻をファイル名に含んだいろんなファイルを時系列ソートする
日付時刻の表記方法は10種類あって、どれでもない場合はタイムスタンプで代用する
日付は必ず含むが、時刻は無い場合もある

なかなか統一的には書けないので、if m := elifのかたまりになる

781 名前:デフォルトの名無しさん [2025/02/24(月) 18:37:53.69 ID:qXEt7oPpr.net]
都度ファイル名を解析して時系列ソートするんじゃなくて一発バッチでファイル名を統一してしまうわけにはいかんのか



782 名前:デフォルトの名無しさん mailto:sage [2025/02/24(月) 19:03:25.46 ID:Ts/aFZR80.net]
>>767
そういうのこそコレクションにまとめるべき
10個もif-elseで同じことしない

783 名前:デフォルトの名無しさん mailto:sage [2025/02/24(月) 22:53:00.73 ID:Wgnd8zr+0.net]
本人は同じ処理を繰り返し書いてる認識自体がないんじゃないかな
すごくベーシックなリファクタリング方法だけどメソッド抽出やクラス分割や統合に比べて認識できない人が多い印象がある

784 名前:デフォルトの名無しさん [2025/02/25(火) 09:13:08.75 ID:DokSK96w0.net]
>>770
コードを例示してあげなよ。
プログラム板でコードで話さないのもどうかと思うよ。ベーシックならそうマル秘でもないのでしょう。

785 名前:デフォルトの名無しさん [2025/02/25(火) 09:54:29.03 ID:XzpdRQ1Sa.net]
769がwinprocのWM_hogehogeのifelse観ると卒倒するだろうな

786 名前:デフォルトの名無しさん mailto:sage [2025/02/25(火) 17:56:27.99 ID:PjrSO8Sc0.net]
コンテキストが全然違うから比べる意味がない

787 名前:デフォルトの名無しさん mailto:sage [2025/02/25(火) 19:31:30.09 ID:z5mNSc8+0.net]
数百個のswitch caseは別に見にくいとは思わんのよな
むしろ追加が簡単だからわかりやすい

788 名前:デフォルトの名無しさん (ワッチョイ cd01-p51G) mailto:sage [2025/02/25(火) 23:57:48.17 ID:xhjdbHGf0.net]
>>771
わざわざ例示するのもちょっと恥ずかしいが一例を書いておく

for (pattern, func) in rules:
 if m := re.search(pattern, string):
  return func(m)

他言語でstatic dispatchが求められる用途ではもちろん使わない

789 名前:デフォルトの名無しさん (ワッチョイ 0154-ePnC) mailto:sage [2025/02/26(水) 00:09:16.17 ID:wJOChXEu0.net]
各funcがそれぞれ違う内容の筈という前提があるけど、
殆どそっくりなfuncが延々と並んだら、もう少し頭いいやり方があるのでは、と思うだろう

790 名前:デフォルトの名無しさん mailto:sage [2025/02/26(水) 00:50:58.38 ID:xhjdbHGf0.net]
うーん
そっくりじゃないから違う処理をしてる(と思ってる)
違う処理をしてるから統一的に書けない(と思ってる)
というのがまさに「本人は同じ処理を繰り返し書いてる認識自体がない」状態なんだがなぁ

791 名前:デフォルトの名無しさん mailto:sage [2025/02/26(水) 01:45:33.67 ID:TQg7w7Pj0.net]
argparseとかUIのイベント処理がそんな感じだけど
数が増えたらボイラープレートだらけで美しくないんだよな



792 名前:デフォルトの名無しさん [2025/02/26(水) 02:08:13.92 ID:O0INS9IK0.net]
日付のパターン 正規表現にして その日付部分を引っ張り出してきて 戻り値にすればいいのでは

793 名前:デフォルトの名無しさん mailto:sage [2025/02/26(水) 07:46:22.98 ID:EieBhFTu0.net]
あー、それだ
30時間制でhourが23を超えてたら、24引いて1日足す、みたいな処理もあって、
それを各関数でやってられない
最終的に欲しいのはdatetimeのオブジェクトで、その変換も一括でやりたい
で、全体を一つの処理にしてたけど、一番プリミティブな抽出部分だけ関数化すればいいのか
日付と時刻をバラバラで返すのは嫌すぎるのでclassにする

794 名前:デフォルトの名無しさん [2025/02/26(水) 09:52:35.13 ID:z2nMevLL0.net]
>>776
もう少し頭いいコードを示すと良いのでは。
10パターンの日時表現を1パターンに収斂、統一させる。殆どそっくりなfuncも収斂させるのだろうか。

795 名前:デフォルトの名無しさん mailto:sage [2025/02/26(水) 12:34:12.97 ID:RZQSvPw/0.net]
実際のパターン提示されてないし
一般化したい欲求から来てるのにそんな冗長なコード書くか?

796 名前:デフォルトの名無しさん mailto:sage [2025/02/26(水) 13:24:03.55 ID:XqJTS5Fa0.net]
実際でなくていいよ。適当にググったこんなので。
2025-02-26T23:45:12.34.txt
Wed 02-26-2025.dat
Wed 26 Feb 2025 11:45:12 PM.txt

797 名前:デフォルトの名無しさん mailto:sage [2025/02/26(水) 16:51:32.29 ID:w6olCj090.net]
その例だけならarrow使えば正規表現使わなくても簡単にできるよ
25時とかは守備範囲外なので別途事前処理が必要

798 名前:デフォルトの名無しさん mailto:sage [2025/02/26(水) 17:07:33.10 ID:n89P36ao0.net]
ubuntu22.04,python3.10.12でUSBカメラ繋いで撮った動画を保存するプログラム作ろうとしたんだけど保存した動画が再生出来ないや
静止画を結合して動画にする事はできたからコーデック的な問題ではないと思うんだけど
import cv2

cap=cv2.VideoCapture(0)
width,height=int(cap.get(cv2.CAP_PROP_FRAME_WIDTH)),int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT))
out=cv2.VideoWriter("/home/taro/Videos/result.avi,cv2.VideoWriter.fourcc(*"DIVX"),30.0,(width,height),isColor=True)
print("録画を開始します")
try:
  while cap.isOpened():
    ret, frame=cap.read()
    if ret:
      out.write(frame)
      cv2.imshow("frame",frame)
      if cv2.waitkey(1) & 0xFF ==ord("q"):

        break
    else:
      break

except KeyboardInterrupt:
  print("録画を終了します")
finally:
  cap.release()
  out.release()
  cv2.destroyAllwindows()

799 名前:デフォルトの名無しさん mailto:sage [2025/02/26(水) 19:37:57.30 ID:j/LMUKKxa.net]
aiに聞けよ

800 名前:デフォルトの名無しさん (ワッチョイ 8d59-D2xv) [2025/02/27(木) 11:58:07.92 ID:80QDg94G0.net]
jsonファイルが開けません。何が原因でしょうか?

https://techiedelight.com/compiler/?b14b6e
24行目以降はスクリプトの出力結果です
TextIOWrapper型はダメと書いてあるようなんですけどどうしたらいいのか分かりません

https://jsonlint.com
jsonファイルの中はここで念のためチェックしました

801 名前:デフォルトの名無しさん (ワッチョイ 3d63-Ek8k) mailto:sage [2025/02/27(木) 12:05:58.52 ID:C53SLMw00.net]
>>787
json.loadsは文字列やバイト列しか受け取れない
fは文字列ではない



802 名前:デフォルトの名無しさん (ワッチョイ 8d59-D2xv) [2025/02/27(木) 12:07:08.33 ID:80QDg94G0.net]
>>787
自己レス
json.loadとjson.loadsは異なるようでjson.loadだと開けました

803 名前:デフォルトの名無しさん (ワッチョイ 8d59-D2xv) [2025/02/27(木) 12:07:38.80 ID:80QDg94G0.net]
>>788
すみません!どうもありがとうございます

804 名前:デフォルトの名無しさん (ワッチョイ 8d59-D2xv) [2025/02/27(木) 12:10:05.49 ID:80QDg94G0.net]
修正してこれだと動きました
https://techiedelight.com/compiler/?3c4203

805 名前:デフォルトの名無しさん [2025/02/27(木) 13:28:56.13 ID:VQNvJTxha.net]
伝わらないのは相手のスキーマに落として話してないから。
言い方がまずいのではなく、相手の思考に合わせて話さないから伝わらないという内容だったと理解しています。
普段からこの点に注意して周りの人と接するようになりました。

806 名前:デフォルトの名無しさん [2025/02/27(木) 13:29:27.69 ID:VQNvJTxha.net]
最後に生成aiが人と同じ思考をしないという記述がありました
特性をよく理解して使う必要があると思いました

807 名前:デフォルトの名無しさん mailto:sage [2025/02/27(木) 13:52:24.42 ID:/ts2T7b80.net]
スキーマなどない。我が拳は我流。我流は無型。無型ゆえに誰にも読めぬ。

808 名前: mailto:sage [2025/02/27(木) 14:01:47.40 ID:VQNvJTxha.net]
ごめん
何言ってるか判らん

809 名前:デフォルトの名無しさん mailto:sage [2025/02/27(木) 17:32:51.11 ID:ZgFfKBZe0.net]
お互いに心のスキーマ埋めて話せよ
ここはエスパーが集う優しいスレッドだぞ

810 名前:デフォルトの名無しさん [2025/03/02(日) 15:48:38.13 ID:HilFpukh0.net]
a-shellの質問はここでいいの?
iPhone、iPad用のPython用シェルなんだけど

811 名前:デフォルトの名無しさん mailto:sage [2025/03/02(日) 15:56:55.60 ID:/YCrqC3g0.net]
コマンドで出来ることをPythonで作ってcmdで起動させてるんだけどなんかもやる。いい方法なんか無いかなあ。



812 名前:デフォルトの名無しさん mailto:sage [2025/03/02(日) 16:10:57.40 ID:NOlVOyMW0.net]
コマンドでできることをpythonのosモジュールにやらせるとちゃんと動かなかったりするので、
cmdをsubprocessから実行させたりする
もう高級batファイル

813 名前:デフォルトの名無しさん [2025/03/02(日) 17:51:07.79 ID:89Av+BX/0.net]
>>798
コマンドで出来ることをコマンドにさせない理由が伝わらないので、もやるのが何故か分からない。

814 名前:デフォルトの名無しさん [2025/03/02(日) 17:59:44.66 ID:JAzjPHpUa.net]
コマンドで出来ることをPowerShellで作ってcmdで起動させてる人なんかはもやらないんだろうか

815 名前:デフォルトの名無しさん [2025/03/02(日) 18:19:18.79 ID:xrnlJRcX0.net]
お勉強スレだから頭の悪い人ばっかなの?

816 名前:デフォルトの名無しさん mailto:sage [2025/03/02(日) 19:39:01.42 ID:YF6lVSQXM.net]
コマンドは一部職人芸みたいなのがあるとメンテが難しいからPowershellかアプリの場合もあるでしょ

817 名前:デフォルトの名無しさん mailto:sage [2025/03/02(日) 19:44:47.14 ID:NOlVOyMW0.net]
最近 for /f 知ったけど、むっさ便利

818 名前:デフォルトの名無しさん mailto:sage [2025/03/03(月) 04:16:34.72 ID:NAxKZqvR0.net]
*nix shell scriptくらいがちょうどいい

819 名前:デフォルトの名無しさん [2025/03/03(月) 05:26:11.89 ID:xAYnQ1Zo0.net]
コードを視覚化したいのですが、オブジェクト同士の通信と、オブジェクトが持つコードを同時に表現出来るものでしょうか?
前者はクラス図、後者はフローチャートでやるものだと思いますが
マーメイド使ってます

820 名前:デフォルトの名無しさん [2025/03/04(火) 00:26:35.01 ID:r0fJoym10.net]
フローチャートの定義済みの処理でいいんじゃないの
双方向に矢印書けば、オブジェクト同士の通信になるし

821 名前:デフォルトの名無しさん mailto:sage [2025/03/04(火) 00:37:06.85 ID:JHGbD3as0.net]
厳密に書ける図しか出てこないんだよな
こまけぇこたぁいいんだよ、の図が一番判り易いのに



822 名前:デフォルトの名無しさん [2025/03/04(火) 17:23:52.29 ID:9TXFpBaY0.net]
matplotlibでグラフ作成するプログラムをPyinstallerでexe化し、別PCで動かしたら「フォントがねぇ!」
って怒られるんだけど、Pyinstallerでビルドするときにフォントを内蔵し、
別PCでフォントをインストールすることなく実行する方法ってありますでしょうか。

823 名前:デフォルトの名無しさん (ワッチョイ 9901-3FuH) mailto:sage [2025/03/04(火) 18:02:09.59 ID:c62Mny0R0.net]
専用のフォントファイル使ってるならpyinstallerの--add-dataでexeにフォントファイル追加して
実行側のmatplotlib.FontManager.addfontで追加したフォントファイル読み込めばいいんじゃね?
試してないけど

824 名前:デフォルトの名無しさん [2025/03/05(水) 07:05:35.50 ID:DooANywKa.net]
代替フォントで表示されて
元のグラフと違う!って怒り出すまでがデフォ

825 名前:デフォルトの名無しさん [2025/03/05(水) 10:17:47.61 ID:k4iH0qBY0.net]
こういう時こそ例外処理だ

826 名前:デフォルトの名無しさん [2025/03/05(水) 10:56:01.18 ID:t/BpZiCN0.net]
そもそもexeにして配布してもアンチウィルスソフトに引っ掛かるのがオチ
なんでstreamlitとかでWebって発想が無いのか

827 名前:デフォルトの名無しさん mailto:sage [2025/03/05(水) 12:29:12.97 ID:jqEKzIeO0.net]
>>811
㌧クス
内蔵した後のファイル呼び出し手間取ったけど実装出来ました。

>>813
そもそも配布するつもりはなくって、レアフォント使うからって言う理由があったんです。

828 名前:デフォルトの名無しさん mailto:sage [2025/03/05(水) 12:29:36.75 ID:jqEKzIeO0.net]
安価ミスった
>>810
だったじゃん・・・

829 名前:デフォルトの名無しさん mailto:sage [2025/03/05(水) 12:40:03.54 ID:je2apegZd.net]
809ではないけど、俺もStreamlitでダッシュボード作ったことあるんだけどデータソースが機密度高すぎてとてもインターネットにはデプロイできないので、社内サーバで運用してたのだがこれはこれで面倒くて
ElectronのPython版みたいなのあれば良いのにとは思うんだが
eelとかpywebviewとかビックリするほど情報少ない、需要無いんだろうけど

830 名前:デフォルトの名無しさん [2025/03/05(水) 17:42:14.00 ID:t/BpZiCN0.net]
>>816
AzureやAWSやGCPにデプロイすれば良いじゃん
VNET使って外から切り離してその後ろに鯖立てる
更にWebページ自体にSSOで多分365とか使ってるだろうからEntraIDで認証

831 名前:デフォルトの名無しさん (アウアウウー Sa1d-8P30) [2025/03/05(水) 18:42:44.64 ID:wl9RyfHna.net]
djangoだけでもいいけどSPAにしたければ
Vue.jsとかExt.jsとかと組み合わせる



832 名前:デフォルトの名無しさん [2025/03/05(水) 20:27:38.71 ID:k4iH0qBY0.net]
masterからbranch切ってコミットして、VSCodeにSyncronizeってボタンでたからそれ押したらmasterブランチで?に?pushされた
これってコマンドだとどういうコマンド使ったことになるの?

何か嫌だったからmasterブランチの方はpullしてrevertして、masterと新しく切ったbranchをpushしなおした

833 名前:デフォルトの名無しさん [2025/03/05(水) 20:28:07.14 ID:k4iH0qBY0.net]
gitスレと間違えちゃった

834 名前:デフォルトの名無しさん [2025/03/06(木) 13:35:09.45 ID:SW3gTDW+M.net]
ブランチは切るものなのかw

835 名前:デフォルトの名無しさん (ワッチョイ b154-IWyi) mailto:sage [2025/03/06(木) 19:16:56.29 ID:I5dHg2CT0.net]
生やす

836 名前:デフォルトの名無しさん mailto:sage [2025/03/06(木) 19:59:07.22 ID:mUwM1gxX0.net]
新たな方向への舵とかチケットを「切る」イメージなんだろうけど、
branchは枝だから、せっかく生やしたものを切ってしまってはまずいなw

837 名前:デフォルトの名無しさん mailto:sage [2025/03/06(木) 20:50:07.68 ID:pxVL1qQZ0.net]
英語でcut a branchと言うのを訳したものなので舵を切るやチケットを切るの切るとはまた違う

838 名前:デフォルトの名無しさん [2025/03/06(木) 20:52:35.77 ID:vk5/DvbY0.net]
そんなん使いだした奴に言うてくれよw

839 名前:デフォルトの名無しさん mailto:sage [2025/03/06(木) 20:57:42.50 ID:ciT+lRoRM.net]
おい!新人!
ブランチ切っといて!
はい!喜んで!(削除)

840 名前:デフォルトの名無しさん mailto:sage [2025/03/06(木) 21:06:41.75 ID:I5dHg2CT0.net]
アルファ・ベータ法でカットした筈の枝が生えそうだな

841 名前:デフォルトの名無しさん mailto:sage [2025/03/06(木) 21:16:19.73 ID:MrSWvjk80.net]
ブランチ切るって使うけど界隈によるんかな



842 名前:デフォルトの名無しさん mailto:sage [2025/03/06(木) 21:37:30.89 ID:mUwM1gxX0.net]
>>824
"cut a branch"は一般的な「枝を切る」ってだけの話で、
Gitでは"create a branch"じゃないの?
両者はまるで反対の意味になるし

843 名前:デフォルトの名無しさん [2025/03/06(木) 22:04:30.15 ID:mLXV+Jap0.net]
>>823
プラナリアに切れ目を入れるイメージ

844 名前:デフォルトの名無しさん mailto:sage [2025/03/06(木) 23:02:53.82 ID:hP34p9/Z0.net]
cut a branchは「(枝道を)切り開く」のニュアンスかな
cutting edgeとかcut one's wayのcut
直訳の「切る」だと通じない

845 名前:デフォルトの名無しさん mailto:sage [2025/03/06(木) 23:11:01.62 ID:I5dHg2CT0.net]
cutting edgeは切断面のイメージだけどな

846 名前:デフォルトの名無しさん mailto:sage [2025/03/06(木) 23:19:51.18 ID:pxVL1qQZ0.net]
>>829
gitとかのコンテキストでのcut a branchはcut a branch from masterとかcut a branch off of trunkを短く言ってるもので大元のものからisolateされた状態にするイメージ

847 名前:デフォルトの名無しさん mailto:sage [2025/03/06(木) 23:28:56.20 ID:I5dHg2CT0.net]
branchは分岐してるだけで本体とは繋がってるのに、
それをcutされたものと言っちゃうのはどうやっても誤解の原因になる
それが面白いという悪ふざけや言葉遊びならいいけど、
あまりオフィシャルには使えない

848 名前:デフォルトの名無しさん mailto:sage [2025/03/06(木) 23:39:18.99 ID:pxVL1qQZ0.net]
例えばこことか公式ドキュメントで普通にcutが使われてるよね
https://tvm.apache.org/docs/v0.12.0/contribute/release_process.html#cut-a-release-candidate

英語でも日本語でも何十年も前から定着してる言い回し

849 名前:デフォルトの名無しさん mailto:sage [2025/03/06(木) 23:45:48.92 ID:pxVL1qQZ0.net]
英語の辞書に載ってる意味で言うと↓ここのtransitive verbの3-cが一番近い
https://www.merriam-webster.com/dictionary/cut

850 名前:デフォルトの名無しさん mailto:sage [2025/03/06(木) 23:46:35.04 ID:I5dHg2CT0.net]
Cut a Release Candidate
はリリース候補として何かのリビジョンを切り出すんだよ
分岐のイメージは無い
リリースしたものがその後育ったら困る

851 名前:デフォルトの名無しさん mailto:sage [2025/03/06(木) 23:50:52.31 ID:I5dHg2CT0.net]
3-cの例文の
チームから切り離すとか、群れから切り離すのも、明確に分離している
分離と分岐は全然違う



852 名前:デフォルトの名無しさん mailto:sage [2025/03/07(金) 00:34:50.26 ID:CROu0DDs0.net]
ブランチを作る目的は互いの変更が影響しあわない分離された開発ラインを仮想的に作ること

cutという単語が使われるのは分岐よりも分離に主眼があるから

853 名前:デフォルトの名無しさん mailto:sage [2025/03/07(金) 01:44:12.43 ID:IYsfuX5M0.net]
枝道に逸れてサボってるお前らの給料をcutしよう

854 名前:デフォルトの名無しさん [2025/03/07(金) 02:22:26.83 ID:DC3oMiFw0.net]
>>829
日本語訳がおかしい。切るではなく分けるという意味。

855 名前:デフォルトの名無しさん [2025/03/07(金) 02:25:08.03 ID:DC3oMiFw0.net]
>>835
枝分かれという意味だけど、枝分かれしたものが本流に合流するから自然言語の言葉の選択に失敗しただけ。

856 名前:デフォルトの名無しさん mailto:sage [2025/03/07(金) 06:09:46.75 ID:XXR0/Q3A0.net]
日本語訳ではなく元からおかしいのだろう
日本語の「課金」みたいな間違った使い方が定着しちゃうのはどこの言語でもある
マニュアルとかには登場せずに口語とかで使われる用法

だからといって、直訳して間違う必要はない

857 名前:デフォルトの名無しさん [2025/03/07(金) 07:52:09.30 ID:nBHkq2vS0.net]
git スレに於いては今後、枝をはらう意味のときは「剪る」「伐る」と書くこと。pythonスレで決めたからね。いいね。

858 名前:デフォルトの名無しさん [2025/03/07(金) 08:15:11.30 ID:i3TW8fQU0.net]
世間の慣習は変わらんぞ

859 名前:デフォルトの名無しさん [2025/03/07(金) 10:32:15.00 ID:DC3oMiFw0.net]
>>843
料金の請求そのものを「課金」と呼んでいる会社があるからなあ

860 名前:デフォルトの名無しさん [2025/03/07(金) 11:24:48.94 ID:i3TW8fQU0.net]
AAAのaccountingはアカウンティングとしか訳せない

861 名前:デフォルトの名無しさん mailto:sage [2025/03/07(金) 14:17:00.73 ID:EmPVRGY00.net]
>>826
あぁ
トラウマ...

きっつ



862 名前:デフォルトの名無しさん mailto:sage [2025/03/07(金) 14:18:41.52 ID:NMHLxQXg0.net]
>>826
別に削除しても問題ないやろ…

863 名前:デフォルトの名無しさん mailto:sage [2025/03/07(金) 22:10:05.52 ID:qVctmwDB0.net]
>>841
branchを動詞として使い、それだけで大本から流れを「分ける」という意味になる(分離はしていない)
cutの場合はあくまで切り離してしまうので、分けるというより「切り分ける」(完全分離)という感じだな

いずれにしても、「ブランチを切る」は誤解を招く言い方だと思う

864 名前:デフォルトの名無しさん mailto:sage [2025/03/07(金) 22:50:11.11 ID:wbHOjF8U0.net]
特定のバージョンをリリースする場合はcutで合ってる
正しく使われたcutの例を見て、ブランチを作ることをcutって言うんだ、と
ふわっと理解した層が誤用して定着してしまった、のだろう

865 名前:デフォルトの名無しさん mailto:sage [2025/03/07(金) 22:57:11.00 ID:GKKg4qAw0.net]
ブランチを切らないおじさんたち
知らなかったことは恥ずかしいことではないが
その後のやり取りは非常に見苦しい

間違った独りよがりの解釈並べて
やっぱり俺は正しかったと思い込んだところで何も変わらない
素直に「知らなかった」ことを認めて謝ろう

そうすれば老害の進行を止められるよ

866 名前:デフォルトの名無しさん mailto:sage [2025/03/07(金) 23:09:46.40 ID:wbHOjF8U0.net]
老害なんて、そんな大層な地位にはいないよ
そんなに煽てられると照れちゃうな

867 名前:デフォルトの名無しさん [2025/03/07(金) 23:17:57.73 ID:DC3oMiFw0.net]
英語の日本語訳でcutを考えるという謎の思考

868 名前:デフォルトの名無しさん mailto:sage [2025/03/08(土) 10:47:12.14 ID:ygCjHTHI0.net]
mktime() なんて伝統的なメソッドなのに、ここだけ何で英語なんだよ。マジメに訳せよ。
https://docs.python.org/ja/3.13/library/time.html#time.mktime

869 名前:デフォルトの名無しさん [2025/03/08(土) 10:47:40.67 ID:e8GOpGZkH.net]
>>819は切るって言っただけでcutなんて言ってないからな

870 名前:デフォルトの名無しさん mailto:sage [2025/03/08(土) 12:40:07.76 ID:5sZkGuqi0.net]
日本のIT業界では昔から、フォルダなど何らかのコンテナを作成することを「切る」と言う習慣がある
汎用機の時代はフォルダ(に類するもの)やDBのテーブルなんかを作るときに静的にディスクの領域を割り当てるのが一般的だったから、そこから切ると言うようになったのだろう

871 名前:デフォルトの名無しさん [2025/03/08(土) 13:01:40.23 ID:6f56mNzS0.net]
んなわけねーだろスケジュールを切るとか別に一般に使う動詞よ
なにがIT業界ではだよw



872 名前:デフォルトの名無しさん mailto:sage [2025/03/08(土) 13:16:35.89 ID:XaJvZebA0.net]
言わんけどなあ
フォルダとかディレクトリは「掘る」だな
何かを発行することを切ると言うことはある
伝票を切るとか、歴史的には本当に切ってたのだろう

873 名前:デフォルトの名無しさん mailto:sage [2025/03/08(土) 13:39:52.21 ID:ZW50ae5a0.net]
>>857
それは用語がごっちゃになってるだろ
パーティションとかクォーターなら切るだけど
フォルダやディレクトリは作るだろ
コマンドだってそうなんだし
Power Macは概念違うかもしれんが


あと掘るは探索だな

874 名前:デフォルトの名無しさん mailto:sage [2025/03/08(土) 13:56:13.23 ID:i6kboqCH0.net]
>>860
現代のファイルシステムのモデルではそうだが、年輩者でフォルダを切ると表現する人は実際わりといる
何でも事前に静的に割り当てていた時代の人間は、大きいところから部分を切り出すというメンタルモデルから脱せないでいるのだろう

875 名前:デフォルトの名無しさん mailto:sage [2025/03/08(土) 14:03:50.31 ID:XaJvZebA0.net]
パーティションは切る以外が思いつかないな
作成するよりもむしろ判り易い
ディレクトリは無から生み出してるけど、
パーティションは有限のものを切り分けてるだけだし

876 名前:デフォルトの名無しさん [2025/03/08(土) 14:11:12.81 ID:6GjCdbD90.net]
>>859
今でも伝票は切ってるやん
レシートも伝票やで
来て来たレシート切ってるやん
今は切り込みは入ってるとかレジが切って出て来るけどさ

877 名前:デフォルトの名無しさん mailto:sage [2025/03/08(土) 14:14:44.53 ID:XaJvZebA0.net]
レシート切りますかと言ってくるコンビニ店員はおらん
実体が無くても切るという用語を使うという話

878 名前:デフォルトの名無しさん mailto:sage [2025/03/08(土) 14:28:35.66 ID:5sZkGuqi0.net]
限られた可住面積と資源で生きてきた列島猿としては、
何かを新しく作るのはゼロから何かを生み出すのではなく常に大から小を切り出すことなんだろうな

879 名前:デフォルトの名無しさん (JP 0Heb-XXSS) mailto:sage [2025/03/08(土) 14:54:57.16 ID:bhzZOhlFH.net]
パスを切る=ディレクトリを作るって意味で使うし
ブランチを切るという言い方に何の違和感もない

880 名前:デフォルトの名無しさん mailto:sage [2025/03/08(土) 15:22:00.93 ID:P4HKKOTE0.net]
22 (木を切って)つくる。

「今年はたびをも—・ってはかせい」

切るにはつくるって意味もあるようだ

881 名前:デフォルトの名無しさん mailto:sage [2025/03/08(土) 15:22:48.97 ID:xQ5Fs9MV0.net]
>>858
それは日時や数量などに限定をつけるという別の用法で辞書にも載ってるもの
区切られた専用の領域を新しく作るといった意味で使うのは自分の知る限りIT業界特有

「〇〇用に新しく□□を切る」
- ブランチを切る
- ディレクトリを切る
- パーティションを切る
- サブネットを切る
- VLANを切る
- サブドメインを切る

パスを切るやエイリアスを切るが
これらと同じなのかは疑問の余地がある



882 名前:デフォルトの名無しさん mailto:sage [2025/03/08(土) 15:24:08.77 ID:xQ5Fs9MV0.net]
>>866
>パスを切る=ディレクトリを作る
パスを切るのはディレクトリを作ることではなくない?

883 名前:デフォルトの名無しさん mailto:sage [2025/03/08(土) 15:45:23.76 ID:jnuQA/jCd.net]
パスやエイリアスを切るのは道を切り開くという意味じゃない?
>>868で挙がっている「割譲する」というニュアンスの切るとはまた違うと思う

884 名前:デフォルトの名無しさん mailto:sage [2025/03/08(土) 15:57:23.70 ID:XaJvZebA0.net]
PATHを切るは確かに言うな
PATHを通すと同義の奴じゃないかな
作成するのはディレクトリやフォルダで、PATHはフルパスのことなので、
それ自体を作成したりはしない

885 名前:デフォルトの名無しさん [2025/03/08(土) 16:22:09.63 ID:6GjCdbD90.net]
お前ら時代を考えろ
コマンドライン時代だ
/でディレクトリの区切りを示すやろ
この事からパスを切るって言うんだよ

886 名前:デフォルトの名無しさん mailto:sage [2025/03/08(土) 16:28:31.93 ID:kCgnTDtk0.net]
Python勉強したかったらgithubのオープンソースと睨めっこしてこい。こんなとこでレスしても池沼mac信者しか沸かんぞ

887 名前:デフォルトの名無しさん [2025/03/08(土) 17:08:49.84 ID:ygCjHTHI0.net]
別れろ切れろはブランチの時に言う言葉、今のあたしにはいっそ kill と言っておくんなまし

888 名前:デフォルトの名無しさん mailto:sage [2025/03/08(土) 17:37:17.94 ID:GgMgzR7UM.net]
言葉の意味を知らないで使い続けた慣用句の扱いだから
ゼロックスしておいておじさんが直すとも思えない
かと言って的は射るものですよ的な指摘も無粋

現場で仲良くやれればいいんじゃね?
意味はある程度通じているわけだし

889 名前:デフォルトの名無しさん mailto:sage [2025/03/08(土) 17:38:34.41 ID:1IYLzVZ40.net]
何を発狂してんのよこのゴミは
「ブランチを切る」が現場で当たり前のように使われることを知らずに赤っ恥かいたから
正当化しようと暴れてるのか
見苦しい

890 名前:デフォルトの名無しさん mailto:sage [2025/03/08(土) 17:53:41.60 ID:XaJvZebA0.net]
どっちかというと、ローカルな用語が一般で通用しなくてショック受けてる、が正解だな
これ方言だったの?的な

891 名前:デフォルトの名無しさん [2025/03/08(土) 20:56:09.68 ID:OhmQmpza0.net]
すいません>>819わかる人いたら教えてください
gitスレでも聞いたんですが、CUI vs GUIみたいな糞どうでもいい話ばっかりしててあいつらはもう駄目です



892 名前: []
[ここ壊れてます]

893 名前:デフォルトの名無しさん mailto:sage [2025/03/08(土) 22:42:06.31 ID:Qlttoejh0.net]
>>878
gitのlogやreflogを確認するか
Syncボタンを押した時に発行されるgitコマンドが表示されるパネルを開いてから
もう一度試せばいいんじゃない?

gitというより聞くならVSCodeスレじゃないか

894 名前:デフォルトの名無しさん mailto:sage [2025/03/08(土) 22:45:58.02 ID:Qlttoejh0.net]
>>877
公式サイトにある日本語訳でもブランチを切るという表現が多々出てくる
日本語訳が出来た2009年当時からずっと変わらず

895 名前:デフォルトの名無しさん [2025/03/08(土) 23:43:37.51 ID:zOJ1gnEL0.net]
>>857
作る、作成するでいいのに変な日本語を使い続けるのは老害

896 名前:デフォルトの名無しさん [2025/03/08(土) 23:44:49.47 ID:zOJ1gnEL0.net]
>>880
樹木の枝を切るという世間一般のイメージに引きずられているだけ

897 名前:デフォルトの名無しさん mailto:sage [2025/03/09(日) 01:03:40.90 ID:T7+XzD7W0.net]
『「的を得る」が間違い』は間違い

898 名前:デフォルトの名無しさん mailto:sage [2025/03/09(日) 01:50:12.00 ID:HKmOZnoF0.net]
>>878
その質問ChatGPTに聞いてみた?

899 名前:デフォルトの名無しさん [2025/03/09(日) 08:04:54.92 ID:mlSbYna30.net]
>>884
pullしてpushって言われた
>>879
確かに

900 名前:デフォルトの名無しさん mailto:sage [2025/03/09(日) 13:04:54.25 ID:Q8WEHnu70.net]
gptにコード書いてもらうのが一番

901 名前:デフォルトの名無しさん (ワッチョイ ce01-CSyU) mailto:sage [2025/03/09(日) 16:02:37.71 ID:GDw1TKD+0.net]
>>819はこれかな?
https://github.com/microsoft/vscode/issues/137686



902 名前:デフォルトの名無しさん [2025/03/09(日) 20:36:14.62 ID:0/t/zpFq0.net]
単純にVSCodeがorigin/masterにpushしてるだけだった
同じブランチでいくつかcommitして、sync changesボタンでたからマウスオーバーしたら、Push 4 commits to origin/masterってでたから
まんまmasterブランチにpushしてるだけだった
あとreflogにはVSCodeのSyncボタン押した時のログは残ってなかった

903 名前:デフォルトの名無しさん mailto:sage [2025/03/10(月) 12:17:45.33 ID:N4hnvL2z0.net]
連番のtxtファイルの中に物体名とそのXY座標値がスペース区切りで格納されてるんだけど
for文でぐるぐる回して各物体ごとに前のファイル内に書かれてる座標値との差分を連続で出したい時ってどういうやり方するのがスマートだろうか
pandas使ってDFに入れるのが早いのかなあ

904 名前:デフォルトの名無しさん mailto:sage [2025/03/10(月) 14:54:26.98 ID:A/G36wo60.net]
それのやり方は知らんけど
pandasよりpolarsの方が速いよ

905 名前:デフォルトの名無しさん mailto:sage [2025/03/10(月) 16:04:01.44 ID:dZmSaWL40.net]
>>889
プログラム設計時に必要になる情報と一緒だけど
前提となる入力と出力の仕様をもう少し明確にしないと
どういうやり方が適切なのかはわからないよ

906 名前:デフォルトの名無しさん mailto:sage [2025/03/10(月) 16:11:52.34 ID:9VCPJ0La0.net]
>>888
ローカルとリモートで互いに足りない部分をpull/pushして結果を同じにしてるんじゃないの?

907 名前:デフォルトの名無しさん mailto:sage [2025/03/10(月) 18:45:12.16 ID:dZmSaWL40.net]
git push origin hoge:masterのように
リモートは問答無用でmaster指定してるってことだろうけど
ローカルのhogeをリモートのmasterに直接pushするのが
あまり一般的なワークフローではないんじゃない?

908 名前:デフォルトの名無しさん (ワッチョイ 1154-QsVm) mailto:sage [2025/03/10(月) 19:26:13.81 ID:d55rHlaZ0.net]
pandasとかはファイルは一つでそこに行と列がたくさん、というデータを想定してるから、
ファイルがたくさんある時点で違う気がする

複数ファイルを一つのdfに結合する部分を自分で書けばpandasで処理できるだろうけど、
pandasで楽になりそうな処理にも思えない

909 名前:デフォルトの名無しさん (ワッチョイ aa8b-nrWv) mailto:sage [2025/03/10(月) 19:40:26.55 ID:pJkzwYQ20.net]
巨大なデータってオンメモリで終わるまでソワソワしながら待つの?
それとも中間ファイル残しながら失敗したらそこから再開とか?

910 名前:デフォルトの名無しさん mailto:sage [2025/03/11(火) 08:25:30.10 ID:Jqy2ddi90.net]
場合によるよね。
やったことないけどw

911 名前:デフォルトの名無しさん mailto:sage [2025/03/11(火) 12:26:00.83 ID:jytsrQer0.net]
>>895
スワップ使いまくるからオンメモリとは言えないかもしれないけど大きめのプログラムのフルコンパイルみたいなのはソワソワしながら待つ

途中まででコミットして再開可能なデータ処理は中断の可能性や再実行にかかる時間、プログラムの複雑化度合いなんかを加味して方針を決める



912 名前:デフォルトの名無しさん mailto:sage [2025/03/11(火) 19:24:18.03 ID:qtpkteRg0.net]
makeみたいな仕組みにしとけば、失敗したところからやり直せる

913 名前:デフォルトの名無しさん mailto:sage [2025/03/11(火) 19:40:15.54 ID:8wwlWO3U0.net]
大規模な処理の場合はSparkみたいな分散処理フレームワークが障害時の途中からの復旧とかを担保する
一方で、アドホックな作業の耐障害性はあまり問題にされることはない
いつも中途半端な実験ばかりで何一つ金になる成果を出さない自称データサイエンティストがノートブックで手元でチマチマやってる程度の作業なんて、
パーになったところでビジネス視点では何の影響もないからね

914 名前:デフォルトの名無しさん mailto:sage [2025/03/11(火) 20:32:11.49 ID:CtHRI6fk0.net]
アドホックな作業?

915 名前:デフォルトの名無しさん [2025/03/12(水) 10:36:16.02 ID:QJkVGgVP0.net]
ビルメン だから 業務効率化とかはできないけど趣味で Python 勉強中

916 名前:デフォルトの名無しさん [2025/03/12(水) 10:36:17.25 ID:QJkVGgVP0.net]
ビルメン だから 業務効率化とかはできないけど趣味で Python 勉強中

917 名前:デフォルトの名無しさん [2025/03/12(水) 16:55:28.43 ID:mpqw2K/o0.net]
巡回ロボを作るとか。

918 名前:デフォルトの名無しさん [2025/03/12(水) 18:02:38.98 ID:J7cIovHRa.net]
エレベーターの劣化チェックが良いな

919 名前:デフォルトの名無しさん (ワッチョイ a1f0-vVUT) [2025/03/12(水) 19:04:57.91 ID:CJgu15QK0.net]
巡回ロボいいね
エレベーターのチェックって画像認識?

920 名前:デフォルトの名無しさん (ワッチョイ 411f-WTPe) mailto:sage [2025/03/12(水) 19:42:29.70 ID:6E1Ob3Gq0.net]
boto3とrecognitionでできそうやな

921 名前:デフォルトの名無しさん mailto:sage [2025/03/13(木) 08:05:57.02 ID:CJt/ai2l0.net]
そんなもん1年後くらいに汎用マルチモーダルAIに自然言語で指示するだけ



922 名前:デフォルトの名無しさん [2025/03/13(木) 10:46:41.91 ID:Tpg+NeNc0.net]
どこまでプログラミング勉強すべきなんだろうな
AIのコーディング能力かなり上がってるから がっつり自分でかけるようになる必要はないけど、まるごと書いてくれるわけではないし 少し修正しようって思ったら丸ごと書き直さないといけないから効率悪いんだよな
基本をさらっとやって、クラスだかモジュールだかの設計ができるようになればいいのかな

923 名前:デフォルトの名無しさん mailto:sage [2025/03/13(木) 12:01:16.03 ID:XK7vUpM4d.net]
画像解析は汎用AI化が出遅れてる分野なので、PyTorchとかでシコシコ自前でやりたい人にとってはラストリゾート
とはいえ自動運転や医療画像みたいな絶対安全な分野を除けば向こう2年くらいの命だろうな

924 名前:デフォルトの名無しさん mailto:sage [2025/03/13(木) 12:54:57.01 ID:7qlVYF9v0.net]
AIエディタを使いこなせるか
これが最も重要

925 名前:デフォルトの名無しさん mailto:sage [2025/03/13(木) 17:05:12.30 ID:rucJuxY60.net]
耳コピの分野が出遅れてるんだよな
ピアノ音源限定でノイズが無ければ、音の高さまでは割と正確に判断する
でも小節の切れ目は判らないので楽譜化はできない
複数の楽器混在とかはまだ全然

926 名前:デフォルトの名無しさん [2025/03/17(月) 11:16:03.53 ID:3DJknzns0.net]
pythonの文法って簡潔すぎてわかりにくいの俺だけ?
for i in range(10)
よりも
for (i = 1; i < 10; i = i + 1)
の方がわかりやすい
C言語から始めたせいかもしれんが

927 名前:デフォルトの名無しさん [2025/03/17(月) 11:23:32.88 ID:3DJknzns0.net]
for i in range(10) ←配列0〜9の左から1つずつiに代入
まあわかる
if i in ng_numbers ←iが配列ng_numbersに入っていたら
???

928 名前:デフォルトの名無しさん mailto:sage [2025/03/17(月) 11:30:36.89 ID:BQ9IDv+P0.net]
>>913
英語で考えりゃ自然

929 名前:デフォルトの名無しさん [2025/03/17(月) 11:50:52.82 ID:3DJknzns0.net]
>>914
そりゃ英語で考えればそうやがどういう処理しとんねんってなる

930 名前:デフォルトの名無しさん [2025/03/17(月) 12:21:38.78 ID:thUzMRxf0.net]
pythonで分かり難いのは、なんてったって str.encode() と bytes.decode() だわ。
型変換を符号化復号化と称すのもどうかと思うが、バイト列を文字列にするのが何で復号なのか不思議でならない。

931 名前:デフォルトの名無しさん mailto:sage [2025/03/17(月) 12:45:47.58 ID:PxAUP6H20.net]
Pythonがどういう内部表現で文字列を表現してるかは一旦置いておいて
目に見える図形・グリフとしての文字の列をエンコードしてバイト列にするのがstr.encode()
エンコードされた結果のバイト列を文字の列に戻すのがbytes.decode()

わかりにくいのは確かだけど間違ってはいない



932 名前:デフォルトの名無しさん mailto:sage [2025/03/17(月) 13:35:59.30 ID:tHr0fe9q0.net]
rangeとか lenは使わない
オブジェクトがあるんだから、そのものを渡そう

933 名前:デフォルトの名無しさん mailto:sage [2025/03/17(月) 14:16:08.27 ID:P7s0k04b0.net]
>>913
どゆこと?
for i, ng in enumerate(ng_number)
これのことではなくて?
ng_numberの条件で飛ばすなら内包表記使って

for x in [ng for ng in ng_number if ng_number[何か] == 何か]

とかの話?

934 名前:デフォルトの名無しさん mailto:sage [2025/03/17(月) 14:28:12.40 ID:WnkcGI4R0.net]
同じ”in”で使われ方も似てるけど文法的には別の”in”
https://docs.python.org/3/reference/compound_stmts.html#for
https://docs.python.org/3/reference/expressions.html#membership-test-operations

935 名前:デフォルトの名無しさん (ワッチョイ c179-lSw3) mailto:sage [2025/03/17(月) 15:27:05.92 ID:fqOs9Smn0.net]
pythonのfor文は他の言語でいうところのforeach文だな
シェルスクリプト(sh系)もそうで、これから入ったのでこちらのほうが馴染む

936 名前:デフォルトの名無しさん mailto:sage [2025/03/17(月) 18:25:36.28 ID:3djl4ZDr0.net]
CからC++とか進んだけど特にforで何とも思ったことないな

937 名前:デフォルトの名無しさん mailto:sage [2025/03/17(月) 18:35:25.17 ID:wBqhLaFH0.net]
生成してもらってるから
forの意味すら知らん

938 名前:デフォルトの名無しさん mailto:sage [2025/03/17(月) 18:59:30.26 ID:aMO6RKr50.net]
FOR X = 0 TO 9 (BASIC)
for x := 0 to 9 (pascal)
for (x = 0; x < 10; x++) (C)
なんかどんどんforの意味からずれていく

for x in range(10)
これが正解

939 名前:デフォルトの名無しさん mailto:sage [2025/03/17(月) 20:11:45.28 ID:+VsjTnZQ0.net]
for i in range(10)で0~9のループってのがアホらしい
0から9と明示している言語が自然

940 名前:デフォルトの名無しさん mailto:sage [2025/03/17(月) 20:35:11.55 ID:tHr0fe9q0.net]
rangeは直前までのrangeオブジェクトを返す、と慣れればそれでいいじゃん

941 名前:デフォルトの名無しさん mailto:sage [2025/03/17(月) 20:42:27.97 ID:aMO6RKr50.net]
range(1, 11) みたいに複雑になると、もうこれは
for (x = 1; x < 11; x++) から数字を抽出したものになってくるけど、
普通は先頭は0なので本質的には要素数を表している
0から始まって当然の頭になれば自然に見える



942 名前:デフォルトの名無しさん [2025/03/17(月) 21:19:59.96 ID:gvomcM2e0.net]
>>926
seq コマンドといつもごっちゃになってまう...

>>> tuple(range(2))
(0, 1)
>>>
$ seq 2
1
2
$

943 名前:デフォルトの名無しさん mailto:sage [2025/03/18(火) 01:35:19.58 ID:fgyGQdvg0.net]
個人的には他言語のforeach相当しかないのはかなり好きなポイントだな

944 名前:デフォルトの名無しさん [2025/03/18(火) 01:59:29.87 ID:4sQPnHny0.net]
>>912
Pythonはこの書き方が便利だとか、わかりやすいなどとは思えない構文が多い

945 名前:デフォルトの名無しさん mailto:sage [2025/03/18(火) 03:15:42.25 ID:SyDRbCg30.net]
>>912
pythonのforは他言語の
foreachに近い
書き方だからなあ

で、foreachも
foreach 要素 in 配列名
タイプの書き方の言語と
foreach 配列名 as 要素
タイプの書き方の言語がある

946 名前:デフォルトの名無しさん mailto:sage [2025/03/18(火) 03:23:10.83 ID:NvLfwtos0.net]
perlはけっこう自然言語っぽい構文も追加で備えてるな

947 名前:デフォルトの名無しさん mailto:sage [2025/03/18(火) 07:41:55.04 ID:9Q7xxzXC0.net]
繰り返し処理に for というキーワードを選んだのが間違いなのでは
BASICが最初なのかな
てっきりFORTRANだと思ってたけど、DOなんだよな
DO X = 0, 9
それはそれで変だけど

一定範囲をスキャンするとか、要素を全部舐めるとか、
そういうニュアンスの単語が無かったんだろう

948 名前:デフォルトの名無しさん mailto:sage [2025/03/18(火) 08:08:58.90 ID:dFh3Cu4yM.net]
sweep

949 名前:デフォルトの名無しさん mailto:sage [2025/03/18(火) 10:39:43.40 ID:mIJI9ibF0.net]
#include

950 名前:デフォルトの名無しさん [2025/03/18(火) 11:03:33.56 ID:v2b6/sSk0.net]
BASICなわけねーだろw その辺は全部ALGOLだよ
なかったもクソもforには反復とかいくつずつみたいな意味が元々ある
ていうかそもそもはドイツ語だったかなんかのはず

951 名前:デフォルトの名無しさん mailto:sage [2025/03/18(火) 17:06:54.31 ID:XDcEae/z0.net]
ALGOLは使ったことないなあ
FORTRANで採用を見送られたのに、その後また復活したのか

ステートメントが前置詞というのはやっぱり筋が悪いって



952 名前:デフォルトの名無しさん mailto:sage [2025/03/18(火) 18:15:32.73 ID:IYkL8cYP0.net]
数式の英語での読み方から来てるから英語で数学を習った人にとっては何の違和感もない

953 名前:はず []
[ここ壊れてます]

954 名前:デフォルトの名無しさん mailto:sage [2025/03/18(火) 22:08:58.63 ID:3MP8eql20.net]
ALGOL(含む68)辺りにリアタイで手を出していたら、ミニコン使いやで。
インターフェースがトラ技別冊だった頃を知っているかと。

基準画像「某レナさん」のグラビアを見た事があるんじゃね?

955 名前:デフォルトの名無しさん mailto:sage [2025/03/18(火) 22:14:52.79 ID:GYPHuJM60.net]
島倉千代子を推してた口だな

956 名前:デフォルトの名無しさん [2025/03/19(水) 09:12:58.29 ID:Irgid5LDa.net]
ALGOLはイスラムが語源
FORTRANはFormulaTranslator

957 名前:デフォルトの名無しさん mailto:sage [2025/03/19(水) 18:59:21.09 ID:uxWT9Crg0.net]
alの部分は定冠詞だけどな

958 名前:デフォルトの名無しさん [2025/03/20(木) 08:55:27.85 ID:8365Cn8s0.net]
def func(param): は
def func(param: str): なのに、
def func(param='value'): が、
def func(param='value': str): でなく、
def func(param: str='value'): なのは、おかしいだろ。責任者のアホ。

959 名前:デフォルトの名無しさん mailto:sage [2025/03/20(木) 10:13:00.87 ID:1M6YtTqp0.net]
>>943
def func(param): が
def func(param: str): だからこそ、
def func(param='value'): は、
def func(param='value': str): でなく、
def func(param: str='value'):

型ヒントは変数の型をチェックするために存在してる

960 名前:デフォルトの名無しさん mailto:sage [2025/03/20(木) 10:16:14.83 ID:uFR0AtSp0.net]
param: str='value'

param: と str='value' に分かれて見えてるんだな
そうではなくて
param: str というかたまりに 'value' を入れている

961 名前:デフォルトの名無しさん mailto:sage [2025/03/20(木) 10:19:49.89 ID:uFR0AtSp0.net]
コロンやらスペースを乗り越えた先に左辺値があることに脳パーサがバグるのは判る



962 名前:デフォルトの名無しさん mailto:sage [2025/03/20(木) 10:33:23.18 ID:Il2FvhCIH.net]
型ヒントって必要?
使わない人が大半だと思うんでプライベートなコード以外には使わないでほしい
仕事で型ヒントが大量にちりばめられてるるコードのメンテナンスなんてやりたくない

963 名前:デフォルトの名無しさん mailto:sage [2025/03/20(木) 11:00:47.02 ID:6xIUkw+E0.net]
逆では
みんなの頭がつながっていないからこそ必要
IDEの支援ももらえるし

964 名前:デフォルトの名無しさん mailto:sage [2025/03/20(木) 11:09:51.36 ID:uFR0AtSp0.net]
型は制約されてないし、だからこそのオブジェクト指向だけど、
実際は入る型なんか決まってるケースが大半なのでヒント止まりになる
正式なコメントの書き方

965 名前:デフォルトの名無しさん mailto:sage [2025/03/20(木) 11:16:01.10 ID:+MvFUuxY0.net]
型ヒントないとやだわ

966 名前:デフォルトの名無しさん mailto:sage [2025/03/20(木) 13:38:22.10 ID:Wa0651PK0.net]
>>947
いらない
そもそも高度な型を書けないから無意味
エディタで補完されるしそれで十分

967 名前:デフォルトの名無しさん mailto:sage [2025/03/20(木) 13:39:45.20 ID:Wa0651PK0.net]
本当に型が欲しいならTypeScriptなりRust使うっての

968 名前:デフォルトの名無しさん (JP 0H8b-0naI) mailto:sage [2025/03/20(木) 14:29:39.20 ID:Il2FvhCIH.net]
>>952
だよねえ
必須でもない型機能なんて混乱をもたらすだけだと思うわ
この運営の迷走ぶりがPython凋落のきっかけになるんじゃないかと危惧している

969 名前:デフォルトの名無しさん mailto:sage [2025/03/20(木) 14:55:26.24 ID:gYhPd4eL0.net]
自作コードは好みだろうけど、
公式ドキュメントは記述を対応させて欲しい。

> str.split(sep=None, maxsplit=-1)
https://docs.python.org/ja/3.12/library/stdtypes.html#str.split
なんて表記じゃ、sepに区切文字を入れるのか、複数の区切文字の配列を入れるのか分からない。
実行結果も、リストか返るのか、独自型が返るのか、或いは返さずに REPLY. 変数に結果をセットするのか分からない。
この例は split() なので想像つくのだけど、謎機能は入出力も謎で泣ける。

970 名前:デフォルトの名無しさん mailto:sage [2025/03/20(木) 17:38:19.11 ID:IBTbkPm20.net]
型ヒントはコメントで書く
3.4(XPラスト)用をメンテしなくちゃならないので

971 名前:デフォルトの名無しさん mailto:sage [2025/03/20(木) 18:15:32.43 ID:HvSgxtYp0.net]
pyenv pipx poetryをos丸ごと捨ててuvに切り替えた
poertyって依存のバージョン解釈がバグってることあったけど、uvはちゃんとしてるな
アストラルがanacondaみたいにいきなり発狂しなきゃいいけど



972 名前:デフォルトの名無しさん mailto:sage [2025/03/20(木) 18:21:06.92 ID:uFR0AtSp0.net]
いつかいいのができるまで、バージョン管理なしでやってる

973 名前:デフォルトの名無しさん [2025/03/22(土) 14:27:58.31 ID:U6/Lg1xxa.net]
Rust の crates と Cargo は良さげだけど微妙
Python で真似するの流行り過ぎて心配

974 名前:デフォルトの名無しさん mailto:sage [2025/03/22(土) 19:43:37.05 ID:6JcU+3AE0.net]
>>956
マジか
もうanacondaから卒業すべきだな

975 名前:デフォルトの名無しさん mailto:sage [2025/03/22(土) 21:27:24.19 ID:dq8l+zNL0.net]
pythonのバージョン管理よりも、コードの構成管理したい
いろんなとこにコード書き散らすから、svnでもgitでも管理できない

976 名前:デフォルトの名無しさん mailto:sage [2025/03/22(土) 22:06:39.66 ID:+ZRnNyRr0.net]
バージョン管理ツールで作成した環境の一覧がわかればいいの?
ならpyenv-virtualenvとか
zoxideやautojumpもいいかも

977 名前:デフォルトの名無しさん mailto:sage [2025/03/22(土) 22:19:14.19 ID:nPu00byz0.net]
uvとruffにした
ネットの情報古いのばかりでここにたどり着くのがすごい大変だった
素がpythonじゃないのでいきなりインストールして環境作れるのも楽
そのうち有料になっても金払っていいレベル

978 名前:デフォルトの名無しさん mailto:sage [2025/03/22(土) 22:20:25.56 ID:Y+iWZXI70.net]
uvはlockまでちゃんとクロスプラットフォームなのがでかい
どこまで信用できるかは分からないけど、今のところ問題はないので
新しく書いたやつを中心に徐々に移行してる

979 名前:デフォルトの名無しさん mailto:sage [2025/03/23(日) 22:26:19.29 ID:8QvyzI2Q0.net]
>>736
馬場状態とか、、、数あるファクターのただの一つに過ぎないよ。
本気でやるならjvlinkで仕様書見てどんなデータがあるか眺めてみるといい。
どうせ挫折するだろうからあまり深く言わないけど、未来を予想するのと、ギャンブルで勝つのは二つ分析目標があると考えた方が良い。
勝率と回収率が逆相関になることがわかったらそこが沼の入り口だよ。
あすすめは、まず人気と回収率のデータを取ってみて、競馬は1番人気を買うと絶対に回収率がマイナスになり、最低人気を買っても同じ。これは何故かを考えることをお勧めするよ。

980 名前:デフォルトの名無しさん mailto:sage [2025/03/24(月) 08:15:13.03 ID:Kzm/5Ai30.net]
ギャンブルにAIを使おうとするなんてばかにすることよな
働けよ

981 名前:デフォルトの名無しさん mailto:sage [2025/03/25(火) 15:35:13.74 ID:ICE7mE9e0.net]
自分は静的型検査はどっちかといえばある方がいいかな派(でも自分ではあんまりやっていない)なんだけど、typingモジュールの内容は盛り沢山すぎて、なかなか腰を据えて勉強する気になれないな。たぶん、型に一家言ある世界中の人が議論して仕様を作っているんだろうとは思うけど。
もう数年して仕様が落ち着いてきたら、たぶん解説本が出ると思うので、それを読んで勉強しよう。ロバストPytnonは結構面白かったので、その延長上で型アノテーションの説明に焦点を絞ったようなやつが出れば面白いと思う。



982 名前:デフォルトの名無しさん mailto:sage [2025/03/25(火) 21:47:04.49 ID:CXmZfdeW0.net]
ハイパーモダンPython改訂版出してくれ

983 名前:デフォルトの名無しさん mailto:sage [2025/03/26(水) 04:22:01.80 ID:9+5RYHjhH.net]
>>967
お前が作るんだよ
オープンソースだから改変し放題

984 名前:デフォルトの名無しさん [2025/03/26(水) 10:28:10.74 ID:klkMmD4b0.net]
>>967
本の Example Code らしいが、Commits on Jun 17, 2024 なので、2024年発刊したその本は最新版ちゃうか。
https://github.com/hypermodern-python/hmpt-code?tab=readme-ov-file#hypermodern-python-tooling---example-code

985 名前:デフォルトの名無しさん mailto:sage [2025/03/26(水) 11:14:52.23 ID:kQr2CXead.net]
>>969
そうだよ
だから新バージョン出してと
今のPythonの状況だと
毎年書いてくらいに思ってる
良い本だった

986 名前:デフォルトの名無しさん mailto:sage [2025/03/26(水) 11:21:03.47 ID:5p9B9np30.net]
>>968
本のことだぞw

987 名前:デフォルトの名無しさん mailto:sage [2025/03/26(水) 11:26:56.84 ID:0cU+Eukb0.net]
ハイパーモダンPythonってツール本でしょ。ツールって、やっぱりみんな使うものなの? 個人的にはツールのバージョンアップを追いかけたりするのがしんどそうなので、あまり使わない派なんだけど。

988 名前:デフォルトの名無しさん [2025/03/26(水) 11:48:23.78 ID:bFpgRqWb0.net]
>>970
改訂稿は存在しないが、無い物ねだりしてみたというコトか。
原書より翻訳が古いて言ったのかとオモタ。

989 名前:デフォルトの名無しさん mailto:sage [2025/03/26(水) 14:17:55.91 ID:E7MgqOg/d.net]
>>972
向こう数年はもうuvとruffで最終形と思っていいと思う

990 名前:デフォルトの名無しさん mailto:sage [2025/03/26(水) 14:45:58.77 ID:0cU+Eukb0.net]
そうなんだ。皆が使っているド定番というところまで行来てるなら、ちょっと勉強してみるかという気になるかも。

991 名前:デフォルトの名無しさん (ワッチョイ 198c-GOYO) mailto:sage [2025/03/27(木) 05:19:00.87 ID:7jSR2TC60.net]
大昔に公式pythonをインストールした時は
とにかくlibrary合わせが大変だよ!
pipだとライブラリ名だけでなくバージョンも全部書かないと後で整合性無くなって環境壊れるよ
と脅された

それで長らくanaconda使ってたけど
登録必須だったりして面倒な要素がどんどん増えていた
稀に環境壊れるし

それが公式Python + UV使ったらライブラリ名だけでバージョンの依存関係も合わせてくれる
動作も早い

venvなどは今まで使ったことが無かったが、uvはちょっとコマンド覚えるのが厄介程度で
それも検索したらすぐ出てくる程度
ryeも使ったことがないがuvの方が手間も掛からん
numpy,scikit-learn,pandas,openpyxl,matplotlibなどなど問題なく入った

anacondaに飲み込まれてた日々から解放か
とにかくやっと軽いidleをPC上でさっと使えるようになったのが一番嬉しいw

GTOコピペをドブに浸けたような文ですまん



992 名前:デフォルトの名無しさん mailto:sage [2025/03/27(木) 13:38:34.44 ID:2ADBZW+f0.net]
uvというすでに存在してるライブラリの名前を使うセンスよ

993 名前:デフォルトの名無しさん mailto:sage [2025/03/27(木) 17:33:23.30 ID:7P69hYA/0.net]
ググってもプロジェクトマネージャのuvしか出てこないし問題ないでしょ

994 名前:デフォルトの名無しさん mailto:sage [2025/03/27(木) 23:23:05.56 ID:VXWTe0Gq0.net]
紫外線?が何か?

995 名前:デフォルトの名無しさん mailto:sage [2025/03/27(木) 23:51:20.99 ID:k+F7YT9B0.net]
libuv
Web系じゃないとピンとこんかも

996 名前:デフォルトの名無しさん mailto:sage [2025/03/27(木) 23:59:47.36 ID:kS/FHi0p0.net]
完全に同じだったらpipが困るし

997 名前:デフォルトの名無しさん (ワッチョイ 0602-NzvG) mailto:sage [2025/03/28(金) 06:17:22.73 ID:IPcuak0N0.net]
何でもいいけどrubyのbundlerみたいにデファクトスタンダードになってほしい(´・ω・`)

998 名前:デフォルトの名無しさん mailto:sage [2025/04/01(火) 22:29:18.22 ID:9c1k08Vz0.net]
使ってみたけど、flaskは楽やな
forルーブがそのままhtmlに書けて辞書を渡せる
{{ % for entry in entries % }}
{
name: '{{ entry.name }}',
age: {{ entry.age }},

999 名前:デフォルトの名無しさん mailto:sage [2025/04/02(水) 05:42:15.84 ID:DgG0AwHf0.net]
公式ドキュメントも読まず
またどこから仕入れてきたんだその書き方

1000 名前:デフォルトの名無しさん [2025/04/02(水) 11:34:04.41 ID:k9Y5euIya.net]
mustang

1001 名前:デフォルトの名無しさん mailto:sage [2025/04/02(水) 12:10:50.08 ID:k9Y5euIya.net]
>>911
鳥との会話はやってるみたいだよ



1002 名前:デフォルトの名無しさん [2025/04/02(水) 22:26:38.63 ID:WwewqrQk0.net]
コード書くのはMSX-Basic以来w
今は目的別に便利なライブラリをつないで
作るスタイルってのに驚きました。
便利なツールもあって進化を感じます。
なんかすごい事になっててw驚きs

1003 名前:デフォルトの名無しさん [2025/04/02(水) 23:29:11.29 ID:vIYRPSqy0.net]
Excel VBAすらスルーしていた興味のなさは半端じゃねえなw

1004 名前:デフォルトの名無しさん mailto:Sage [2025/04/03(木) 05:44:20.01 ID:EdKQlRYK0.net]
厳密には違いますが、53のおじさんがワクワクする環境ってのは久々でした。必要に迫られて13年ぶりにPCと向き合ったので。

1005 名前:デフォルトの名無しさん mailto:sage [2025/04/03(木) 06:53:05.71 ID:X+wL63br0.net]
BOMが付いてても大抵は何も起きないけど、
csvモジュールで読むとばっちりバグる
なんで直さないんだ

1006 名前:デフォルトの名無しさん mailto:sage [2025/04/03(木) 11:00:23.64 ID:MyC4XyHf0.net]
utf_8_sig 指定せずに問題起きてないのはたまたま
処理側のモジュールで個別対応するなんて愚の骨頂

1007 名前:デフォルトの名無しさん [2025/04/03(木) 11:26:57.33 ID:6V8WkUdO0.net]
>>991
賢の骨頂は何ぞ?
自作モジュールはBOM非対応のまま、CSVファイルからBOMを除去?

1008 名前:デフォルトの名無しさん mailto:sage [2025/04/03(木) 14:16:06.10 ID:MyC4XyHf0.net]
入力でutf_8_sigを指定する

1009 名前:デフォルトの名無しさん [2025/04/03(木) 21:21:38.60 ID:fy3xRWQwa.net]
ワクワクさせてよ
チンチン

1010 名前:デフォルトの名無しさん [2025/04/03(木) 21:23:19.22 ID:fy3xRWQwa.net]
>>992
BOM飛ばすpipe使うだけ
pythonで描いても数秒だろ

1011 名前:992 [2025/04/03(木) 21:55:23.24 ID:touOSSe00.net]
>>995
その pipe とは何を指したの。UNIXやDOSコマンドラインの "|" しかパっと思い浮かばない。

今のところ、>>993 が最良じゃないかと思う (オレは質問者でないので、僭越ながら) 。



1012 名前:デフォルトの名無しさん (ワッチョイ 7f0c-/YAI) [2025/04/03(木) 23:27:03.36 ID:yWhIQ9ik0.net]
>>996
DOSじゃねえだろ

1013 名前:デフォルトの名無しさん (ワッチョイ 5fd7-TCdU) mailto:sage [2025/04/03(木) 23:29:32.03 ID:I/PZjZDo0.net]
普通、RTX-11だよねぇw

1014 名前:デフォルトの名無しさん mailto:sage [2025/04/03(木) 23:36:05.82 ID:F1+U/OXw0.net]
pipe down

1015 名前:デフォルトの名無しさん mailto:sage [2025/04/04(金) 01:51:38.18 ID:UMpXJcmx0.net]
次スレ

Pythonのお勉強 Part75
https://mevius.5ch.net/test/read.cgi/tech/1743698824/l50

建てましたが、次回から、985が次スレを建ててくだしあ。

1016 名前:1001 [Over 1000 Thread.net]
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 194日 15時間 37分 37秒

1017 名前:過去ログ ★ [[過去ログ]]
■ このスレッドは過去ログ倉庫に格納されています






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<252KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef