!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+PL0544デフォルトの名無しさん (ワッチョイ a3dc-rbLX)
2025/01/20(月) 22:50:09.23ID:08Nyz7B30 簡単に書けない言語って何?
545デフォルトの名無しさん (ワッチョイ f354-Be6J)
2025/01/20(月) 22:55:39.50ID:6bfYmu3O0 C++
546デフォルトの名無しさん (アウアウウー Saa7-C2Lh)
2025/01/21(火) 08:23:31.58ID:yRL5l1cZa rubyっぽい文法が売りのナントカとscriptでjsにするのもあったな
名前も忘れちゃったよ
名前も忘れちゃったよ
547デフォルトの名無しさん (アウアウウー Saa7-C2Lh)
2025/01/21(火) 08:25:23.93ID:yRL5l1cZa coffeescriptだ思い出した
548デフォルトの名無しさん (ワッチョイ 6fdb-HrHr)
2025/01/21(火) 11:52:18.11ID:gA/FmHct0 >>543
はえ~勉強になるぅ
はえ~勉強になるぅ
549デフォルトの名無しさん (ワッチョイ 6ff8-Jbvc)
2025/01/21(火) 12:02:24.94ID:ZMbV0RT+0 やりたいことがやりたいように出来るのはC++
550デフォルトの名無しさん (アウアウエー Sadf-C2Lh)
2025/01/22(水) 15:36:19.34ID:3ss9Z0B7a やりたいことがやりたいように出来るのはC
551デフォルトの名無しさん (ワッチョイ 6f9f-uL6f)
2025/01/22(水) 16:41:12.84ID:rqHpU9Ud0 C++に気に食わない機能や作法があっても
使わずに独自で書けばええんよ
使わずに独自で書けばええんよ
552デフォルトの名無しさん (アウアウエー Sadf-C2Lh)
2025/01/23(木) 10:18:36.86ID:MfXmmgFNa C++の要らない機能を無理に使わず
BetterThanCとしてCの範囲で使っておくのが正解
BetterThanCとしてCの範囲で使っておくのが正解
553デフォルトの名無しさん (ワッチョイ 2391-VyPR)
2025/01/23(木) 17:36:52.16ID:zJefYyzo0 拷問現在の日本でもある
https://nazology.kusuguru.co.jp/archives/168908
https://nazology.kusuguru.co.jp/archives/168908
554デフォルトの名無しさん (ワッチョイ e32d-YeI8)
2025/01/24(金) 20:46:41.96ID:AnpieBwS0 forでリストを処理するときに
そのリストから値をremoveすると次の値が飛ばされる
その対策として
for i in tuple(リスト名):
としてタプルに変換して問題解決はしているのだけど
王道的な別な解決策ってある?
そのリストから値をremoveすると次の値が飛ばされる
その対策として
for i in tuple(リスト名):
としてタプルに変換して問題解決はしているのだけど
王道的な別な解決策ってある?
555デフォルトの名無しさん (ワッチョイ f354-Be6J)
2025/01/24(金) 21:01:24.34ID:g+2OlWgu0 別のコピーなら何でもいいんでしょ
556デフォルトの名無しさん (ワッチョイ 6f9f-uL6f)
2025/01/24(金) 21:59:09.40ID:oJDbtKku0 王道は破壊的な処理をせずフィルタ動作にする
必要なら元の変数にアサインし直す
必要なら元の変数にアサインし直す
557デフォルトの名無しさん (ワッチョイ f354-Be6J)
2025/01/24(金) 22:02:58.75ID:g+2OlWgu0 文脈が判らんけど、リストを条件に合うように作り直すなら、
あるべきリストを別に生成して、完成したら元のリストを更新するかな
あるべきリストを別に生成して、完成したら元のリストを更新するかな
558デフォルトの名無しさん (ワッチョイ e3f0-Fylt)
2025/01/24(金) 22:24:39.69ID:CNUIUSvw0 リスト内包表記でいいじゃん
関数型言語的に書いた方がいいよ
forは使うところない
関数型言語的に書いた方がいいよ
forは使うところない
559デフォルトの名無しさん (ワッチョイ 5301-U9fZ)
2025/01/24(金) 22:42:35.20ID:Js6GMDZG0 >>554
王道はin-placeで削除しようとせずにフィルターして削除済みの新しいリストを生成する
(Pythonでフィルターするときはcomprehensionを使うのがデフォ)
in-placeで削除したい時はリストの最後からインデックスで回して削除する
↓これはO(n)でいいところをO(n^2)で処理してるからNG
for i in tuple(リスト名):
if predicate(i):
リスト名.remove(i)
王道はin-placeで削除しようとせずにフィルターして削除済みの新しいリストを生成する
(Pythonでフィルターするときはcomprehensionを使うのがデフォ)
in-placeで削除したい時はリストの最後からインデックスで回して削除する
↓これはO(n)でいいところをO(n^2)で処理してるからNG
for i in tuple(リスト名):
if predicate(i):
リスト名.remove(i)
560デフォルトの名無しさん (ワッチョイ cf10-3anD)
2025/01/24(金) 22:47:32.12ID:rKtZO0PM0 文が必要な場合には内包表記では書けないでしょ。
561デフォルトの名無しさん (アウアウウー Saa7-LZB9)
2025/01/24(金) 22:51:11.07ID:CUf3ZumHa 忌み数字を踏ませる業者、アプリ、コンピュータプログラムの嫌がらせ
動画再生回数、表示回数、登録者数、フォロワー数、評価数、コメント数、レベル、経験値、ポイント、HP、通貨、価格、メッセージ数、通知数、フレンド数
4(死)、13(キリスト教における忌み数字)
18(嫌)、24(〜に死)、34(〜さん死)
40、42、44
56(殺)、64(無視)
71(無い)、74(無し)、79(無く、亡く)
84(〜は死)、94(〜君死)、96(黒)
このような数字と名前や生年月日、IDなどを組み合わせて執拗に強調することで、精神攻撃をする業者やストーカー、嫌がらせ組織がキモい。
動画再生回数、表示回数、登録者数、フォロワー数、評価数、コメント数、レベル、経験値、ポイント、HP、通貨、価格、メッセージ数、通知数、フレンド数
4(死)、13(キリスト教における忌み数字)
18(嫌)、24(〜に死)、34(〜さん死)
40、42、44
56(殺)、64(無視)
71(無い)、74(無し)、79(無く、亡く)
84(〜は死)、94(〜君死)、96(黒)
このような数字と名前や生年月日、IDなどを組み合わせて執拗に強調することで、精神攻撃をする業者やストーカー、嫌がらせ組織がキモい。
562デフォルトの名無しさん (ワッチョイ 5301-U9fZ)
2025/01/24(金) 22:51:58.63ID:Js6GMDZG0 関数化するだけでしょ。
563デフォルトの名無しさん (ワッチョイ f354-Be6J)
2025/01/24(金) 22:53:05.01ID:g+2OlWgu0 王道がわらわら出てくるっていう
564デフォルトの名無しさん (ワッチョイ 6f9f-uL6f)
2025/01/24(金) 22:57:24.27ID:oJDbtKku0565デフォルトの名無しさん (ワッチョイ cf10-3anD)
2025/01/24(金) 22:59:26.00ID:rKtZO0PM0 内包表記は便利だけど、内包表記で書くためだけに関数を作るのは個人的にはちょっと嫌かな。そこはfor文と適宜使い分ければいいのでは。
566デフォルトの名無しさん (ワッチョイ f354-Be6J)
2025/01/24(金) 23:07:41.94ID:g+2OlWgu0 わかりやすさの為なら何でもする
内包表記も関数化も抽象化でありわかりやすさ
説明変数もばんばん使うべき
内包表記も関数化も抽象化でありわかりやすさ
説明変数もばんばん使うべき
567デフォルトの名無しさん (ワッチョイ e32d-YeI8)
2025/01/24(金) 23:44:28.59ID:bnSBcaeW0568デフォルトの名無しさん (ワッチョイ 5301-U9fZ)
2025/01/25(土) 00:01:16.03ID:JgWImGBF0569デフォルトの名無しさん (ワッチョイ e3f0-Fylt)
2025/01/25(土) 00:28:58.11ID:PCXbr1vN0 >>567
日本語が意味不明だからコード出せよ
日本語が意味不明だからコード出せよ
570デフォルトの名無しさん (ワッチョイ f354-Be6J)
2025/01/25(土) 00:33:36.06ID:YBOPAb6b0 コード出せを悪口だと思ってるな
お前の母ちゃんコード出せ
お前の母ちゃんコード出せ
571デフォルトの名無しさん (ワッチョイ cf10-3anD)
2025/01/25(土) 01:04:29.61ID:ta403zjD0 結果保存用に空リストを作って、そこに加工後の画像だか画像名だかをappendしていくみたいな原始的なやり方ではダメかな?
572デフォルトの名無しさん (ワッチョイ e3f0-Fylt)
2025/01/25(土) 02:05:52.81ID:PCXbr1vN0 なぜそこまで頑なにコードを出したくないのか理解不能
573デフォルトの名無しさん (アウアウエー Sadf-C2Lh)
2025/01/25(土) 15:55:30.71ID:9QNSyzV2a 逆回しは良くやるけど万能ではない
574デフォルトの名無しさん (ブーイモ MM1f-JdG4)
2025/01/25(土) 16:15:16.97ID:kYeOXsrBM そもそもオリジナルのリストの削除をバックワードに進めないとおかしくなるのは自明だろ
なんで先頭から消す必要あるの?
なんで先頭から消す必要あるの?
575デフォルトの名無しさん (ワッチョイ f354-Be6J)
2025/01/25(土) 16:22:51.45ID:YBOPAb6b0 表が巨大でコピーなんか作ってられないなら仕方なく対象そのものをいじるけど、
その場合は削除するだけでも大変なので、やっぱりいい方法ではない
その場合は削除するだけでも大変なので、やっぱりいい方法ではない
576デフォルトの名無しさん (ワッチョイ 0301-B2gY)
2025/01/25(土) 17:05:22.09ID:I/LFBEOt0 逆回しにしたところでリストの場合は途中の要素を削除したらそれ以降の要素(のポインタ)をコピーして詰める必要があるから非効率なんだよね
577デフォルトの名無しさん (ワッチョイ f354-Be6J)
2025/01/25(土) 17:19:09.28ID:YBOPAb6b0 どう考えもバグりやすいし、大丈夫だと判っても他人や未来の自分は不安だし、
理解するのも時間かかるし、何もいいことがない
時間がかかったとしても、判りやすく堅牢な方法で書いて、
速度で困った時に初めてトリッキーな方法を検討する
理解するのも時間かかるし、何もいいことがない
時間がかかったとしても、判りやすく堅牢な方法で書いて、
速度で困った時に初めてトリッキーな方法を検討する
578デフォルトの名無しさん (ワッチョイ 6fb3-3anD)
2025/01/25(土) 19:02:59.44ID:ue9pmKTV0 for i in original_list[:]:
some_process( i )
みたいな感じでやるんじゃなかったっけ。
特に問題がないケースなら、
res = []
for i in original_list:
some_process( i )
と新しいリストを作ってsome_processの中で適宜res.appendする方が分かりやすいかなと思う。
some_process( i )
みたいな感じでやるんじゃなかったっけ。
特に問題がないケースなら、
res = []
for i in original_list:
some_process( i )
と新しいリストを作ってsome_processの中で適宜res.appendする方が分かりやすいかなと思う。
579デフォルトの名無しさん (ワッチョイ b69f-19vF)
2025/01/26(日) 00:49:53.92ID:tS9IC3AC0 ソースが巨大なら印だけつけてあとで一括削除
580デフォルトの名無しさん (ワッチョイ 8754-5CbQ)
2025/01/26(日) 08:01:06.06ID:W6rEvGvT0 対象を直接操作して一括で削除するアルゴリズムってどんなの
581デフォルトの名無しさん (アウアウエー Sa52-FFa5)
2025/01/28(火) 10:16:11.80ID:dqvH8r5Ca 循環参照ありのRCGC
582デフォルトの名無しさん (ワッチョイ 0ec0-natb)
2025/01/28(火) 10:44:41.07ID:jWrC9Jca0 それリストの話じゃなくなってるやん
583デフォルトの名無しさん (スップ Sd5a-ejc7)
2025/01/28(火) 16:47:42.00ID:GmSjCRuqd 去年poetryでやってたけど
uv圧倒的に速いな
uv圧倒的に速いな
584デフォルトの名無しさん (ワッチョイ 9a6a-cjCd)
2025/01/30(木) 17:48:17.31ID:VLQDVSyo0 光る君への公式ホームページが31日で消去されるから保存したい
シンプルだしwgetでいけるかと思ったら表示にjavascript使ってるから
それのせいで保存できなかった
調べていくうちにpythonとヘッドレスブラウザを利用する方法があると知った
しかし、プログラミングのプの字もさっぱりです。pythonも昨日インスコしたばっかり
pythonとヘッドレスブラウザを利用した方法、解説されているようなサイトやヒントご存じでしたら教えてください
シンプルだしwgetでいけるかと思ったら表示にjavascript使ってるから
それのせいで保存できなかった
調べていくうちにpythonとヘッドレスブラウザを利用する方法があると知った
しかし、プログラミングのプの字もさっぱりです。pythonも昨日インスコしたばっかり
pythonとヘッドレスブラウザを利用した方法、解説されているようなサイトやヒントご存じでしたら教えてください
585デフォルトの名無しさん (ワッチョイ de01-M74Q)
2025/01/30(木) 18:08:53.47ID:+zNA14SN0 まるっとローカルに保存してくれるツールを買え
586デフォルトの名無しさん (スップ Sd5a-ejc7)
2025/01/30(木) 18:13:37.22ID:x7iBFXJ9d587デフォルトの名無しさん (スップ Sd5a-ejc7)
2025/01/30(木) 18:14:18.23ID:x7iBFXJ9d588デフォルトの名無しさん (ワッチョイ 1a9f-M+tv)
2025/01/30(木) 18:27:40.22ID:lxoi8Hgj0 HTTrackのProxyTrackつかうのがええんでは
589デフォルトの名無しさん (ワッチョイ 8754-5CbQ)
2025/01/30(木) 19:59:08.37ID:rlxtAv1y0 画像だけ全部落としたい、みたいな時も大抵は汎用ツールは使えなくて、
サイト毎に特化したのを作るな
サイトまるごとだとさらに難易度が上がる
リンク先は含めるのかみたいな判断付かない問題が出てくる
外部サイトは含めないとしたくても、ページの内容が複数のサイトで構成されてたりする
サイト毎に特化したのを作るな
サイトまるごとだとさらに難易度が上がる
リンク先は含めるのかみたいな判断付かない問題が出てくる
外部サイトは含めないとしたくても、ページの内容が複数のサイトで構成されてたりする
590デフォルトの名無しさん (アウアウエー Sa52-FFa5)
2025/02/01(土) 12:23:22.67ID:Dm0gVBeEa imgタグもファイル名とかじゃなくてbase64で展開されてたりするよな
591デフォルトの名無しさん (ワッチョイ 3f3d-ZuVD)
2025/02/03(月) 09:45:21.23ID:gwlnb/NB0 data1からdata2に変換したい。
data1=b'Z\x00V\x00-\x00E\x001\x000\x00\x00'
data2="ZV-E10"
data1はバイナリデーターで元はtcpのパケットの一部。
(英数+x00) (英数+x00) (英数+x00) ・・・・
というふうになってる。
data1=b'Z\x00V\x00-\x00E\x001\x000\x00\x00'
data2="ZV-E10"
data1はバイナリデーターで元はtcpのパケットの一部。
(英数+x00) (英数+x00) (英数+x00) ・・・・
というふうになってる。
592デフォルトの名無しさん (ワッチョイ 7f45-+jK0)
2025/02/03(月) 10:56:25.39ID:CGp2zuw30 変換したいのならすればいいじゃない
593デフォルトの名無しさん (ワッチョイ 3f3d-ZuVD)
2025/02/03(月) 12:03:25.53ID:gwlnb/NB0 >>592
どうやって?
どうやって?
594デフォルトの名無しさん (ワッチョイ 3f9f-UQx/)
2025/02/03(月) 12:46:11.42ID:eVgE9/na0 https://docs.python.org/ja/3.13/library/stdtypes.html#bytes
bytesはバイトのシーケンスだから好きにすればいいけど
一見UTF-16LEにもみえるから
data2 = data1.decode('utf-16le', errors='ignore')
でもいけそう
bytesはバイトのシーケンスだから好きにすればいいけど
一見UTF-16LEにもみえるから
data2 = data1.decode('utf-16le', errors='ignore')
でもいけそう
595デフォルトの名無しさん (ワッチョイ 7f45-+jK0)
2025/02/03(月) 12:46:55.10ID:CGp2zuw30 えー
置換すりゃあいいじゃん
文字列短いかいならsplit/joinでもまあいい
置換すりゃあいいじゃん
文字列短いかいならsplit/joinでもまあいい
596デフォルトの名無しさん (ワッチョイ 7f45-+jK0)
2025/02/03(月) 12:48:55.52ID:CGp2zuw30 たよねー
俺もnull終端させたutf16-leだと思う
ignoreせずにstripしてからdecodeかな
俺もnull終端させたutf16-leだと思う
ignoreせずにstripしてからdecodeかな
597デフォルトの名無しさん (ワッチョイ 3f3d-ZuVD)
2025/02/03(月) 14:44:29.24ID:gwlnb/NB0598デフォルトの名無しさん (ワッチョイ 3f9f-UQx/)
2025/02/03(月) 15:00:49.10ID:eVgE9/na0 596さんが書いてるけどignoreだと不正なシーケンスに弱いから
末尾0か確認してスライス[:-1]で削るのが手堅いよ
安価なかったので心配
末尾0か確認してスライス[:-1]で削るのが手堅いよ
安価なかったので心配
599デフォルトの名無しさん (アウアウエー Sabf-J/8e)
2025/02/04(火) 12:24:19.84ID:AbihjpY6a data1=b'Z\x00V\x00-\x00E\x001\x000\x00\x00\x00'
じゃないのは何故なんだぜ
じゃないのは何故なんだぜ
600デフォルトの名無しさん (ワッチョイ 3f86-vucM)
2025/02/04(火) 19:51:38.43ID:Nh0/7bRn0 Google Colaboratoryで自動でカッコやシングルクォーテーション、ダブルクォーテーションを閉じてくれるのはいいのですが
改行するのに右小指を右矢印まで移動させるのが面倒くさいです
この機能を有効にしながらタイピングのホームポジションから極力指を動かさずにプログラムを改行する方法はどういったものがありますか
改行するのに右小指を右矢印まで移動させるのが面倒くさいです
この機能を有効にしながらタイピングのホームポジションから極力指を動かさずにプログラムを改行する方法はどういったものがありますか
601デフォルトの名無しさん (ワッチョイ 0f54-U+zU)
2025/02/04(火) 20:02:33.96ID:Q6BV74Me0 ダイヤモンドカーソル
602デフォルトの名無しさん (ブーイモ MM0f-92nP)
2025/02/04(火) 20:05:48.54ID:Yb/oB3W3M wordmasterですね?
603デフォルトの名無しさん (ワッチョイ 3f9f-UQx/)
2025/02/04(火) 20:15:46.13ID:bltbnC560 キーボードショートカット表示させたら発見多い
vimバインドがあるのにも気づける
vimバインドがあるのにも気づける
604デフォルトの名無しさん (ワッチョイ 0f54-U+zU)
2025/02/04(火) 20:16:37.26ID:Q6BV74Me0 capsキーをモディファイア化して、カーソルとpgup/dn, home, end, ctrl-home, ctrl-end
なんかをそのへんのキーにアサインすると便利
ctrlなんかにするのはもったいない
なんかをそのへんのキーにアサインすると便利
ctrlなんかにするのはもったいない
605デフォルトの名無しさん (ワッチョイ cf3e-fK0e)
2025/02/05(水) 12:03:09.56ID:0aVaPzHU0 textwrap --- テキストの折り返しと詰め込み
https://docs.python.org/ja/3.12/library/textwrap.html
標準ライブラリにこんなモジュールあったの初めてしった
https://docs.python.org/ja/3.12/library/textwrap.html
標準ライブラリにこんなモジュールあったの初めてしった
606デフォルトの名無しさん (アウアウエー Sabf-J/8e)
2025/02/05(水) 14:41:00.30ID:RWIQAOlpa ctrl+J ctrl+M
607デフォルトの名無しさん (ワッチョイ 4f01-NuNG)
2025/02/05(水) 18:14:35.27ID:d15iAK/y0 WindowsだとCtrl+EやCtrl+Aは動かないんだっけ?
608デフォルトの名無しさん (ワッチョイ 3f8b-GcXq)
2025/02/05(水) 18:53:32.47ID:dNg2S/kf0 アンダースコア2個の変数って
VSCodeのデバックでも見えなくなるんだな
そこは値みせろよ
VSCodeのデバックでも見えなくなるんだな
そこは値みせろよ
609デフォルトの名無しさん (ワッチョイ ffb9-UQx/)
2025/02/05(水) 21:07:19.31ID:4wonhmBO0610デフォルトの名無しさん (ワッチョイ 63c4-SXYI)
2025/02/09(日) 17:06:41.88ID:cm7GCNiQ0 スレッド処理できんぞこのポンコツ
611デフォルトの名無しさん (ワッチョイ 1a8b-RGTj)
2025/02/09(日) 17:14:28.12ID:tUOkxeUe0 ThreadPoolExecutor使えば簡単に実装できるだろ
GIL無効のはまだ試したことないけど
GIL無効のはまだ試したことないけど
612デフォルトの名無しさん (ワッチョイ ef54-r5n3)
2025/02/09(日) 22:07:58.46ID:DVKKH7160 enumerate()はindexが追加される、と覚えてるから、
indexを2番目にしてしまうという間違いを繰り返す
大抵は、for val in array: と書いてて、
indexが必要になって追加すると思うので、
前に挿入という変更にも抵抗がある
indexを2番目にしてしまうという間違いを繰り返す
大抵は、for val in array: と書いてて、
indexが必要になって追加すると思うので、
前に挿入という変更にも抵抗がある
613デフォルトの名無しさん (ワッチョイ abfb-5zF4)
2025/02/09(日) 22:42:27.28ID:1H3Dm2g50 使い勝手からするとindexは先頭であってんだけど
tupleやなくクラスだったらよかったかな
挿入という感覚はないな
tupleやなくクラスだったらよかったかな
挿入という感覚はないな
614デフォルトの名無しさん (ワッチョイ ef54-r5n3)
2025/02/10(月) 09:56:50.77ID:JMZMJPbu0 items() が key, valueの順で渡してくるのは納得なんだよな
enumerate() も意味的には似てるんだけど、
dictはforで読んだらkeyが返るけど、listは中身だしな
まあ、複数同時に返して順番意識しないと間違う仕様が全部悪
enumerate() も意味的には似てるんだけど、
dictはforで読んだらkeyが返るけど、listは中身だしな
まあ、複数同時に返して順番意識しないと間違う仕様が全部悪
615デフォルトの名無しさん (ワッチョイ ef54-r5n3)
2025/02/13(木) 17:02:51.99ID:uy7D7eTZ0 windowsでリアルタイムで画像を描かせるとウィンドウが反応なしになる
最初pygameで作って、Pyxelでも駄目で、matplotlibも駄目だった
どう見ても原因はwindows側なんだけど、どうやったら回避できるんだろう
最初pygameで作って、Pyxelでも駄目で、matplotlibも駄目だった
どう見ても原因はwindows側なんだけど、どうやったら回避できるんだろう
616デフォルトの名無しさん (ブーイモ MMc6-3Y69)
2025/02/13(木) 17:53:45.53ID:iuf/njBUM メッセージキューの状態は?
617デフォルトの名無しさん (ワッチョイ 232a-6f6K)
2025/02/13(木) 18:21:00.45ID:gV1L3zya0 型ヒント、どうやって書くとおK?
>>> a:int, b:int = 1, 2
File "<stdin>", line 1
a:int, b:int = 1, 2
^
SyntaxError: invalid syntax
>>> a:int, b:int = 1, 2
File "<stdin>", line 1
a:int, b:int = 1, 2
^
SyntaxError: invalid syntax
618デフォルトの名無しさん (ブーイモ MMaa-RGTj)
2025/02/13(木) 18:50:18.04ID:UcNEd134M >>617
そういう書き方しなければならない理由ある?
そういう書き方しなければならない理由ある?
619デフォルトの名無しさん (ワッチョイ 232a-6f6K)
2025/02/13(木) 20:34:08.66ID:gV1L3zya0620デフォルトの名無しさん (ササクッテロラ Spa3-Z3xl)
2025/02/13(木) 21:07:07.34ID:1OgGkneUp 二ついっぺんに?
621デフォルトの名無しさん (ワッチョイ ef54-r5n3)
2025/02/13(木) 21:41:07.46ID:uy7D7eTZ0 def func(a:int = 0, b:int = 0): # OK
a, b = 0, 0 # OK
a:int = 0, b:int = 0 #NG
ということだな
a, b = 0, 0 # OK
a:int = 0, b:int = 0 #NG
ということだな
622デフォルトの名無しさん (ワッチョイ 1a8b-RGTj)
2025/02/13(木) 23:08:28.29ID:FScSEbGI0623デフォルトの名無しさん (ワッチョイ ef54-r5n3)
2025/02/13(木) 23:20:12.60ID:uy7D7eTZ0 a, b = 0, 0
のケースは、
(a, b) = (0, 0)
というタプルへの代入の省略形だと思うので、
関数定義の引数の列とは本質的に別物
タプルだと思って書くと、
(a:int, b:int) = (0, 0)
これが文法的に許されてるかという個別の話になって、
単純にタプルに型アノテーションは書けません
という誤りに帰着する
のケースは、
(a, b) = (0, 0)
というタプルへの代入の省略形だと思うので、
関数定義の引数の列とは本質的に別物
タプルだと思って書くと、
(a:int, b:int) = (0, 0)
これが文法的に許されてるかという個別の話になって、
単純にタプルに型アノテーションは書けません
という誤りに帰着する
624デフォルトの名無しさん (ワッチョイ 0701-k+Qr)
2025/02/13(木) 23:39:49.88ID:3i0teOTZ0 >>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
>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
625デフォルトの名無しさん (ワッチョイ 0701-k+Qr)
2025/02/13(木) 23:48:39.44ID:3i0teOTZ0 変数の数が多かったりアノテーションが長かったりするのであれば
一旦1つの変数で受けといてからunpackすればいいんじゃないか思う
style guideとかでこの辺りが確立されてるやつがあるのかどうかは知らん
xs: Tuple[Optional[int]] = 1, 2, 3
x, y, z = xs
一旦1つの変数で受けといてからunpackすればいいんじゃないか思う
style guideとかでこの辺りが確立されてるやつがあるのかどうかは知らん
xs: Tuple[Optional[int]] = 1, 2, 3
x, y, z = xs
626デフォルトの名無しさん (ワッチョイ ef54-r5n3)
2025/02/13(木) 23:50:55.54ID:uy7D7eTZ0 a:int = 0, b:int = 0
だと何が不味くてエラーにしたのか、ピンとこないな
誤解の余地はどこにもないと思うけど
だと何が不味くてエラーにしたのか、ピンとこないな
誤解の余地はどこにもないと思うけど
627デフォルトの名無しさん (ワッチョイ 0701-k+Qr)
2025/02/14(金) 00:40:32.45ID:itWJ0HMk0 文法規則に沿ってないからエラーになってるだけでしょ
a:int = 0, の時点でパーサーからすると`0, `はタプルなのに
b:intのコロンようなサポートされてない表現が来てるから文法エラー
a:int = 0, の時点でパーサーからすると`0, `はタプルなのに
b:intのコロンようなサポートされてない表現が来てるから文法エラー
628デフォルトの名無しさん (ワッチョイ ef54-r5n3)
2025/02/14(金) 00:52:13.45ID:kUuP9oE90 いや、言語設計の話ね
引数の列みたいなタプル的なもので許されてるなら、
タプルでも許されるような規則になってる方がコンシスタント
それを許すと別の問題が生じるなら仕方ないけど、
特にそんなのがあるような気がしない
引数の列みたいなタプル的なもので許されてるなら、
タプルでも許されるような規則になってる方がコンシスタント
それを許すと別の問題が生じるなら仕方ないけど、
特にそんなのがあるような気がしない
629デフォルトの名無しさん (ワッチョイ 0701-k+Qr)
2025/02/14(金) 01:53:56.51ID:itWJ0HMk0 54氏に絡んだ私が馬鹿だったみたいだね
630デフォルトの名無しさん (JP 0Hc6-nRXM)
2025/02/14(金) 07:12:48.02ID:P2h4GvQIH 型アノテーションはどう考えてもコードを冗長にするだけの効果しかなかった
次期バージョンからは廃止して欲しい
アノテーションありとなしのコードが混在する世界は誰も得しない
次期バージョンからは廃止して欲しい
アノテーションありとなしのコードが混在する世界は誰も得しない
631デフォルトの名無しさん (ワッチョイ ef54-r5n3)
2025/02/14(金) 07:34:58.64ID:8QRTr0+h0 01氏は相変わらずだのう
よく知らんけど
よく知らんけど
632デフォルトの名無しさん (ワッチョイ bbb2-QNOZ)
2025/02/14(金) 12:40:51.82ID:mTgus/9Q0 型アノテーションしないとvscodeでメソッドとか補完してくれないじゃん~
633デフォルトの名無しさん (ワッチョイ 6317-3fWp)
2025/02/14(金) 12:47:27.45ID:rES5mJq/0634デフォルトの名無しさん (ワッチョイ 0601-X7Ot)
2025/02/14(金) 13:23:14.36ID:6dC8Hfpk0635デフォルトの名無しさん (ワッチョイ ef54-r5n3)
2025/02/14(金) 19:00:49.38ID:y0//4+C60 どうせdataclassで型指定が必須になる
636デフォルトの名無しさん (ワッチョイ 8edb-u07z)
2025/02/14(金) 22:20:16.99ID:zA34SgDn0 age : int = int(9)
右のint()は不要ってことだよね
今だと全部上の文にしようとしていました
右のint()は不要ってことだよね
今だと全部上の文にしようとしていました
637デフォルトの名無しさん (ワッチョイ ef54-r5n3)
2025/02/14(金) 22:27:43.41ID:y0//4+C60 型なんかコンテキストに任せるperlの時代がまた来ないかな
厳密なのはCに任せておいて、手抜き派は限界まで脱力しないと
厳密なのはCに任せておいて、手抜き派は限界まで脱力しないと
638デフォルトの名無しさん (ワッチョイ 8edb-u07z)
2025/02/14(金) 23:33:39.76ID:zA34SgDn0 perlは$@%で変数の中身と参照方法の手がかりがあるの楽すぎる
しかも記号の切り替えでアクセス方法も切り替えられる
初心者の俺だけかもしれないけど
しかも記号の切り替えでアクセス方法も切り替えられる
初心者の俺だけかもしれないけど
639デフォルトの名無しさん (ワッチョイ 7f6e-HfJw)
2025/02/15(土) 00:03:38.48ID:7QZxROg40 >>638
dollar_とかatmark_とか変数に付ければいいのでは?
dollar_とかatmark_とか変数に付ければいいのでは?
640デフォルトの名無しさん (ワッチョイ ef54-r5n3)
2025/02/15(土) 00:09:45.51ID:nmEKbiHe0 指し示す時は%varとか@varだけど、使う時は$var{}とか$var[]なのは、
普通に混乱するよな
同じ名前が使えるのはやばすぎるので、敢えて使わないようにしてた
普通に混乱するよな
同じ名前が使えるのはやばすぎるので、敢えて使わないようにしてた
641デフォルトの名無しさん (ワッチョイ 0701-Wuzd)
2025/02/15(土) 00:24:38.71ID:Ff6IMwfd0 >>636
右のint()はintにキャストしたい時に使う
左のintも大半の箇所では不要
数値リテラルで初期化する場合に明示的に型を書く必要があるケースはあまりない
上で書かれてるdataclassのfieldなんかは例外
右のint()はintにキャストしたい時に使う
左のintも大半の箇所では不要
数値リテラルで初期化する場合に明示的に型を書く必要があるケースはあまりない
上で書かれてるdataclassのfieldなんかは例外
642デフォルトの名無しさん (ワッチョイ 1a8b-RGTj)
2025/02/15(土) 01:12:51.65ID:8VzqP0+T0 type aliasでwin32 apiみたいに狂ったようなヘッダーファイルのimportとかになったら嫌だな
643デフォルトの名無しさん (ワッチョイ 7f32-pSVK)
2025/02/15(土) 02:36:03.74ID:jP/E47uy0 型ヒントないとやだやだ
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 中国側が首相答弁の撤回要求、日本側拒否 [夜のけいちゃん★]
- 債券・円・株「トリプル安」に…長期金利1.755%まで上昇、円は対ユーロで史上最安値 [蚤の市★]
- 映画「鬼滅の刃」の興行収入急減、日本行き航空券大量キャンセル…中国メディア報道 [蚤の市★]
- 日本行き空路49万件キャンセル 中国自粛呼びかけ 日本行きチケット予約の約32%に相当 ★5 [ぐれ★]
- 【音楽】Perfume・あ~ちゃんの結婚相手「一般男性」は吉田カバンの社長・吉田幸裕氏(41) 高身長で山本耕史似 [Ailuropoda melanoleuca★]
- 【大分】佐賀関で大規模火災、170棟以上が延焼中 70代男性1人と連絡取れず [ぐれ★]
- 【悲報】中国営業に熱心な日本人タレントたち、中国のイベントが続々と中止に… まだ予定中のアイドルとか歌手とかたくさんいるけど [452836546]
- 麻生太郎氏、高市政権と距離を置きはじめる(´・ω・`) [399259198]
- 高市総理で期待してるかもしれないけど、自民党はもうダメだから、超党派の勢力が出てくるみたいだぞ。 [134367759]
- 自閉症が「んなっしょい」と連呼するお🏡
- トヨタ、反日だった。2027年に中国にレクサスのEV工場を設立。高市 [931948549]
- 【悲報】高市効果で「1ドル=160円」が相場へwwwwwwwwwwwwwwwwwwwwwwwwwwwww 止まらぬ高市円安💥💥 [871926377]
