[過去ログ]
Pythonのお勉強 Part74 (1002レス)
Pythonのお勉強 Part74 http://mevius.5ch.net/test/read.cgi/tech/1726881242/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
576: デフォルトの名無しさん (ワッチョイ 0301-B2gY) [sage] 2025/01/25(土) 17:05:22.09 ID:I/LFBEOt0 逆回しにしたところでリストの場合は途中の要素を削除したらそれ以降の要素(のポインタ)をコピーして詰める必要があるから非効率なんだよね http://mevius.5ch.net/test/read.cgi/tech/1726881242/576
577: デフォルトの名無しさん (ワッチョイ f354-Be6J) [sage] 2025/01/25(土) 17:19:09.28 ID:YBOPAb6b0 どう考えもバグりやすいし、大丈夫だと判っても他人や未来の自分は不安だし、 理解するのも時間かかるし、何もいいことがない 時間がかかったとしても、判りやすく堅牢な方法で書いて、 速度で困った時に初めてトリッキーな方法を検討する http://mevius.5ch.net/test/read.cgi/tech/1726881242/577
578: デフォルトの名無しさん (ワッチョイ 6fb3-3anD) [sage] 2025/01/25(土) 19:02:59.44 ID:ue9pmKTV0 for i in original_list[:]: some_process( i ) みたいな感じでやるんじゃなかったっけ。 特に問題がないケースなら、 res = [] for i in original_list: some_process( i ) と新しいリストを作ってsome_processの中で適宜res.appendする方が分かりやすいかなと思う。 http://mevius.5ch.net/test/read.cgi/tech/1726881242/578
579: デフォルトの名無しさん (ワッチョイ b69f-19vF) [sage] 2025/01/26(日) 00:49:53.92 ID:tS9IC3AC0 ソースが巨大なら印だけつけてあとで一括削除 http://mevius.5ch.net/test/read.cgi/tech/1726881242/579
580: デフォルトの名無しさん (ワッチョイ 8754-5CbQ) [sage] 2025/01/26(日) 08:01:06.06 ID:W6rEvGvT0 対象を直接操作して一括で削除するアルゴリズムってどんなの http://mevius.5ch.net/test/read.cgi/tech/1726881242/580
581: デフォルトの名無しさん (アウアウエー Sa52-FFa5) [] 2025/01/28(火) 10:16:11.80 ID:dqvH8r5Ca 循環参照ありのRCGC http://mevius.5ch.net/test/read.cgi/tech/1726881242/581
582: デフォルトの名無しさん (ワッチョイ 0ec0-natb) [sage] 2025/01/28(火) 10:44:41.07 ID:jWrC9Jca0 それリストの話じゃなくなってるやん http://mevius.5ch.net/test/read.cgi/tech/1726881242/582
583: デフォルトの名無しさん (スップ Sd5a-ejc7) [sage] 2025/01/28(火) 16:47:42.00 ID:GmSjCRuqd 去年poetryでやってたけど uv圧倒的に速いな http://mevius.5ch.net/test/read.cgi/tech/1726881242/583
584: デフォルトの名無しさん (ワッチョイ 9a6a-cjCd) [sage] 2025/01/30(木) 17:48:17.31 ID:VLQDVSyo0 光る君への公式ホームページが31日で消去されるから保存したい シンプルだしwgetでいけるかと思ったら表示にjavascript使ってるから それのせいで保存できなかった 調べていくうちにpythonとヘッドレスブラウザを利用する方法があると知った しかし、プログラミングのプの字もさっぱりです。pythonも昨日インスコしたばっかり pythonとヘッドレスブラウザを利用した方法、解説されているようなサイトやヒントご存じでしたら教えてください http:/
/mevius.5ch.net/test/read.cgi/tech/1726881242/584
585: デフォルトの名無しさん (ワッチョイ de01-M74Q) [sage] 2025/01/30(木) 18:08:53.47 ID:+zNA14SN0 まるっとローカルに保存してくれるツールを買え http://mevius.5ch.net/test/read.cgi/tech/1726881242/585
586: デフォルトの名無しさん (スップ Sd5a-ejc7) [sage] 2025/01/30(木) 18:13:37.22 ID:x7iBFXJ9d >>584 https://ja.m.wikipedia.org/wiki/波乗野郎 http://mevius.5ch.net/test/read.cgi/tech/1726881242/586
587: デフォルトの名無しさん (スップ Sd5a-ejc7) [sage] 2025/01/30(木) 18:14:18.23 ID:x7iBFXJ9d >>584 PerMan Surfer 波乗野郎でごっそり保管 https://ja.m.wikipedia.org/wiki/波乗野郎 http://mevius.5ch.net/test/read.cgi/tech/1726881242/587
588: デフォルトの名無しさん (ワッチョイ 1a9f-M+tv) [sage] 2025/01/30(木) 18:27:40.22 ID:lxoi8Hgj0 HTTrackのProxyTrackつかうのがええんでは http://mevius.5ch.net/test/read.cgi/tech/1726881242/588
589: デフォルトの名無しさん (ワッチョイ 8754-5CbQ) [sage] 2025/01/30(木) 19:59:08.37 ID:rlxtAv1y0 画像だけ全部落としたい、みたいな時も大抵は汎用ツールは使えなくて、 サイト毎に特化したのを作るな サイトまるごとだとさらに難易度が上がる リンク先は含めるのかみたいな判断付かない問題が出てくる 外部サイトは含めないとしたくても、ページの内容が複数のサイトで構成されてたりする http://mevius.5ch.net/test/read.cgi/tech/1726881242/589
590: デフォルトの名無しさん (アウアウエー Sa52-FFa5) [] 2025/02/01(土) 12:23:22.67 ID:Dm0gVBeEa imgタグもファイル名とかじゃなくてbase64で展開されてたりするよな http://mevius.5ch.net/test/read.cgi/tech/1726881242/590
591: デフォルトの名無しさん (ワッチョイ 3f3d-ZuVD) [] 2025/02/03(月) 09:45:21.23 ID:gwlnb/NB0 data1からdata2に変換したい。 data1=b'Z\x00V\x00-\x00E\x001\x000\x00\x00' data2="ZV-E10" data1はバイナリデーターで元はtcpのパケットの一部。 (英数+x00) (英数+x00) (英数+x00) ・・・・ というふうになってる。 http://mevius.5ch.net/test/read.cgi/tech/1726881242/591
592: デフォルトの名無しさん (ワッチョイ 7f45-+jK0) [sage] 2025/02/03(月) 10:56:25.39 ID:CGp2zuw30 変換したいのならすればいいじゃない http://mevius.5ch.net/test/read.cgi/tech/1726881242/592
593: デフォルトの名無しさん (ワッチョイ 3f3d-ZuVD) [] 2025/02/03(月) 12:03:25.53 ID:gwlnb/NB0 >>592 どうやって? http://mevius.5ch.net/test/read.cgi/tech/1726881242/593
594: デフォルトの名無しさん (ワッチョイ 3f9f-UQx/) [sage] 2025/02/03(月) 12:46:11.42 ID:eVgE9/na0 https://docs.python.org/ja/3.13/library/stdtypes.html#bytes bytesはバイトのシーケンスだから好きにすればいいけど 一見UTF-16LEにもみえるから data2 = data1.decode('utf-16le', errors='ignore') でもいけそう http://mevius.5ch.net/test/read.cgi/tech/1726881242/594
595: デフォルトの名無しさん (ワッチョイ 7f45-+jK0) [sage] 2025/02/03(月) 12:46:55.10 ID:CGp2zuw30 えー 置換すりゃあいいじゃん 文字列短いかいならsplit/joinでもまあいい http://mevius.5ch.net/test/read.cgi/tech/1726881242/595
596: デフォルトの名無しさん (ワッチョイ 7f45-+jK0) [sage] 2025/02/03(月) 12:48:55.52 ID:CGp2zuw30 たよねー 俺もnull終端させたutf16-leだと思う ignoreせずにstripしてからdecodeかな http://mevius.5ch.net/test/read.cgi/tech/1726881242/596
597: デフォルトの名無しさん (ワッチョイ 3f3d-ZuVD) [] 2025/02/03(月) 14:44:29.24 ID:gwlnb/NB0 >>594 THXです。 できました。 http://mevius.5ch.net/test/read.cgi/tech/1726881242/597
598: デフォルトの名無しさん (ワッチョイ 3f9f-UQx/) [sage] 2025/02/03(月) 15:00:49.10 ID:eVgE9/na0 596さんが書いてるけどignoreだと不正なシーケンスに弱いから 末尾0か確認してスライス[:-1]で削るのが手堅いよ 安価なかったので心配 http://mevius.5ch.net/test/read.cgi/tech/1726881242/598
599: デフォルトの名無しさん (アウアウエー Sabf-J/8e) [] 2025/02/04(火) 12:24:19.84 ID:AbihjpY6a data1=b'Z\x00V\x00-\x00E\x001\x000\x00\x00\x00' じゃないのは何故なんだぜ http://mevius.5ch.net/test/read.cgi/tech/1726881242/599
600: デフォルトの名無しさん (ワッチョイ 3f86-vucM) [] 2025/02/04(火) 19:51:38.43 ID:Nh0/7bRn0 Google Colaboratoryで自動でカッコやシングルクォーテーション、ダブルクォーテーションを閉じてくれるのはいいのですが 改行するのに右小指を右矢印まで移動させるのが面倒くさいです この機能を有効にしながらタイピングのホームポジションから極力指を動かさずにプログラムを改行する方法はどういったものがありますか http://mevius.5ch.net/test/read.cgi/tech/1726881242/600
601: デフォルトの名無しさん (ワッチョイ 0f54-U+zU) [sage] 2025/02/04(火) 20:02:33.96 ID:Q6BV74Me0 ダイヤモンドカーソル http://mevius.5ch.net/test/read.cgi/tech/1726881242/601
602: デフォルトの名無しさん (ブーイモ MM0f-92nP) [sage] 2025/02/04(火) 20:05:48.54 ID:Yb/oB3W3M wordmasterですね? http://mevius.5ch.net/test/read.cgi/tech/1726881242/602
603: デフォルトの名無しさん (ワッチョイ 3f9f-UQx/) [sage] 2025/02/04(火) 20:15:46.13 ID:bltbnC560 キーボードショートカット表示させたら発見多い vimバインドがあるのにも気づける http://mevius.5ch.net/test/read.cgi/tech/1726881242/603
604: デフォルトの名無しさん (ワッチョイ 0f54-U+zU) [sage] 2025/02/04(火) 20:16:37.26 ID:Q6BV74Me0 capsキーをモディファイア化して、カーソルとpgup/dn, home, end, ctrl-home, ctrl-end なんかをそのへんのキーにアサインすると便利 ctrlなんかにするのはもったいない http://mevius.5ch.net/test/read.cgi/tech/1726881242/604
605: デフォルトの名無しさん (ワッチョイ cf3e-fK0e) [] 2025/02/05(水) 12:03:09.56 ID:0aVaPzHU0 textwrap --- テキストの折り返しと詰め込み https://docs.python.org/ja/3.12/library/textwrap.html 標準ライブラリにこんなモジュールあったの初めてしった http://mevius.5ch.net/test/read.cgi/tech/1726881242/605
606: デフォルトの名無しさん (アウアウエー Sabf-J/8e) [] 2025/02/05(水) 14:41:00.30 ID:RWIQAOlpa ctrl+J ctrl+M http://mevius.5ch.net/test/read.cgi/tech/1726881242/606
607: デフォルトの名無しさん (ワッチョイ 4f01-NuNG) [sage] 2025/02/05(水) 18:14:35.27 ID:d15iAK/y0 WindowsだとCtrl+EやCtrl+Aは動かないんだっけ? http://mevius.5ch.net/test/read.cgi/tech/1726881242/607
608: デフォルトの名無しさん (ワッチョイ 3f8b-GcXq) [sage] 2025/02/05(水) 18:53:32.47 ID:dNg2S/kf0 アンダースコア2個の変数って VSCodeのデバックでも見えなくなるんだな そこは値みせろよ http://mevius.5ch.net/test/read.cgi/tech/1726881242/608
609: デフォルトの名無しさん (ワッチョイ ffb9-UQx/) [sage] 2025/02/05(水) 21:07:19.31 ID:4wonhmBO0 https://www.deback.be 選択肢にないからドイツ語圏は弱小なんだな 学びがある http://mevius.5ch.net/test/read.cgi/tech/1726881242/609
610: デフォルトの名無しさん (ワッチョイ 63c4-SXYI) [] 2025/02/09(日) 17:06:41.88 ID:cm7GCNiQ0 スレッド処理できんぞこのポンコツ http://mevius.5ch.net/test/read.cgi/tech/1726881242/610
611: デフォルトの名無しさん (ワッチョイ 1a8b-RGTj) [sage] 2025/02/09(日) 17:14:28.12 ID:tUOkxeUe0 ThreadPoolExecutor使えば簡単に実装できるだろ GIL無効のはまだ試したことないけど http://mevius.5ch.net/test/read.cgi/tech/1726881242/611
612: デフォルトの名無しさん (ワッチョイ ef54-r5n3) [sage] 2025/02/09(日) 22:07:58.46 ID:DVKKH7160 enumerate()はindexが追加される、と覚えてるから、 indexを2番目にしてしまうという間違いを繰り返す 大抵は、for val in array: と書いてて、 indexが必要になって追加すると思うので、 前に挿入という変更にも抵抗がある http://mevius.5ch.net/test/read.cgi/tech/1726881242/612
613: デフォルトの名無しさん (ワッチョイ abfb-5zF4) [sage] 2025/02/09(日) 22:42:27.28 ID:1H3Dm2g50 使い勝手からするとindexは先頭であってんだけど tupleやなくクラスだったらよかったかな 挿入という感覚はないな http://mevius.5ch.net/test/read.cgi/tech/1726881242/613
614: デフォルトの名無しさん (ワッチョイ ef54-r5n3) [sage] 2025/02/10(月) 09:56:50.77 ID:JMZMJPbu0 items() が key, valueの順で渡してくるのは納得なんだよな enumerate() も意味的には似てるんだけど、 dictはforで読んだらkeyが返るけど、listは中身だしな まあ、複数同時に返して順番意識しないと間違う仕様が全部悪 http://mevius.5ch.net/test/read.cgi/tech/1726881242/614
615: デフォルトの名無しさん (ワッチョイ ef54-r5n3) [sage] 2025/02/13(木) 17:02:51.99 ID:uy7D7eTZ0 windowsでリアルタイムで画像を描かせるとウィンドウが反応なしになる 最初pygameで作って、Pyxelでも駄目で、matplotlibも駄目だった どう見ても原因はwindows側なんだけど、どうやったら回避できるんだろう http://mevius.5ch.net/test/read.cgi/tech/1726881242/615
616: デフォルトの名無しさん (ブーイモ MMc6-3Y69) [sage] 2025/02/13(木) 17:53:45.53 ID:iuf/njBUM メッセージキューの状態は? http://mevius.5ch.net/test/read.cgi/tech/1726881242/616
617: デフォルトの名無しさん (ワッチョイ 232a-6f6K) [sage] 2025/02/13(木) 18:21:00.45 ID:gV1L3zya0 型ヒント、どうやって書くとおK? >>> a:int, b:int = 1, 2 File "<stdin>", line 1 a:int, b:int = 1, 2 ^ SyntaxError: invalid syntax http://mevius.5ch.net/test/read.cgi/tech/1726881242/617
618: デフォルトの名無しさん (ブーイモ MMaa-RGTj) [sage] 2025/02/13(木) 18:50:18.04 ID:UcNEd134M >>617 そういう書き方しなければならない理由ある? http://mevius.5ch.net/test/read.cgi/tech/1726881242/618
619: デフォルトの名無しさん (ワッチョイ 232a-6f6K) [] 2025/02/13(木) 20:34:08.66 ID:gV1L3zya0 >>618 そういう書き方とは何を指したの。 書き方がおかしいので、正しい書き方を質問した。 http://mevius.5ch.net/test/read.cgi/tech/1726881242/619
620: デフォルトの名無しさん (ササクッテロラ Spa3-Z3xl) [sage] 2025/02/13(木) 21:07:07.34 ID:1OgGkneUp 二ついっぺんに? http://mevius.5ch.net/test/read.cgi/tech/1726881242/620
621: デフォルトの名無しさん (ワッチョイ ef54-r5n3) [sage] 2025/02/13(木) 21:41:07.46 ID:uy7D7eTZ0 def func(a:int = 0, b:int = 0): # OK a, b = 0, 0 # OK a:int = 0, b:int = 0 #NG ということだな http://mevius.5ch.net/test/read.cgi/tech/1726881242/621
622: デフォルトの名無しさん (ワッチョイ 1a8b-RGTj) [sage] 2025/02/13(木) 23:08:28.29 ID:FScSEbGI0 >>619 回答がでてるから(俺は確認してない) 気にしてないと思うけど コードは手段であって目的ではない エラーが出てよくわからないなら別の方法探すのが合理的だろ? http://mevius.5ch.net/test/read.cgi/tech/1726881242/622
623: デフォルトの名無しさん (ワッチョイ ef54-r5n3) [sage] 2025/02/13(木) 23:20:12.60 ID:uy7D7eTZ0 a, b = 0, 0 のケースは、 (a, b) = (0, 0) というタプルへの代入の省略形だと思うので、 関数定義の引数の列とは本質的に別物 タプルだと思って書くと、 (a:int, b:int) = (0, 0) これが文法的に許されてるかという個別の話になって、 単純にタプルに型アノテーションは書けません という誤りに帰着する http://mevius.5ch.net/test/read.cgi/tech/1726881242/623
624: デフォルトの名無しさん (ワッチョイ 0701-k+Qr) [sage] 2025/02/13(木) 23:39:49.88 ID: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 http://mevius.5ch.net/test/read.cgi/tech/1726881242/624
625: デフォルトの名無しさん (ワッチョイ 0701-k+Qr) [sage] 2025/02/13(木) 23:48:39.44 ID:3i0teOTZ0 変数の数が多かったりアノテーションが長かったりするのであれば 一旦1つの変数で受けといてからunpackすればいいんじゃないか思う style guideとかでこの辺りが確立されてるやつがあるのかどうかは知らん xs: Tuple[Optional[int]] = 1, 2, 3 x, y, z = xs http://mevius.5ch.net/test/read.cgi/tech/1726881242/625
626: デフォルトの名無しさん (ワッチョイ ef54-r5n3) [sage] 2025/02/13(木) 23:50:55.54 ID:uy7D7eTZ0 a:int = 0, b:int = 0 だと何が不味くてエラーにしたのか、ピンとこないな 誤解の余地はどこにもないと思うけど http://mevius.5ch.net/test/read.cgi/tech/1726881242/626
627: デフォルトの名無しさん (ワッチョイ 0701-k+Qr) [sage] 2025/02/14(金) 00:40:32.45 ID:itWJ0HMk0 文法規則に沿ってないからエラーになってるだけでしょ a:int = 0, の時点でパーサーからすると`0, `はタプルなのに b:intのコロンようなサポートされてない表現が来てるから文法エラー http://mevius.5ch.net/test/read.cgi/tech/1726881242/627
628: デフォルトの名無しさん (ワッチョイ ef54-r5n3) [sage] 2025/02/14(金) 00:52:13.45 ID:kUuP9oE90 いや、言語設計の話ね 引数の列みたいなタプル的なもので許されてるなら、 タプルでも許されるような規則になってる方がコンシスタント それを許すと別の問題が生じるなら仕方ないけど、 特にそんなのがあるような気がしない http://mevius.5ch.net/test/read.cgi/tech/1726881242/628
629: デフォルトの名無しさん (ワッチョイ 0701-k+Qr) [sage] 2025/02/14(金) 01:53:56.51 ID:itWJ0HMk0 54氏に絡んだ私が馬鹿だったみたいだね http://mevius.5ch.net/test/read.cgi/tech/1726881242/629
630: デフォルトの名無しさん (JP 0Hc6-nRXM) [sage] 2025/02/14(金) 07:12:48.02 ID:P2h4GvQIH 型アノテーションはどう考えてもコードを冗長にするだけの効果しかなかった 次期バージョンからは廃止して欲しい アノテーションありとなしのコードが混在する世界は誰も得しない http://mevius.5ch.net/test/read.cgi/tech/1726881242/630
631: デフォルトの名無しさん (ワッチョイ ef54-r5n3) [sage] 2025/02/14(金) 07:34:58.64 ID:8QRTr0+h0 01氏は相変わらずだのう よく知らんけど http://mevius.5ch.net/test/read.cgi/tech/1726881242/631
632: デフォルトの名無しさん (ワッチョイ bbb2-QNOZ) [sage] 2025/02/14(金) 12:40:51.82 ID:mTgus/9Q0 型アノテーションしないとvscodeでメソッドとか補完してくれないじゃん~ http://mevius.5ch.net/test/read.cgi/tech/1726881242/632
633: デフォルトの名無しさん (ワッチョイ 6317-3fWp) [sage] 2025/02/14(金) 12:47:27.45 ID:rES5mJq/0 >>630 これはそう 型の表現がゴミなのでその型意味ある?ってやつばっかでノイズにしかならん tsみたいに別の処理系として作るべき http://mevius.5ch.net/test/read.cgi/tech/1726881242/633
634: デフォルトの名無しさん (ワッチョイ 0601-X7Ot) [sage] 2025/02/14(金) 13:23:14.36 ID:6dC8Hfpk0 >>625 >xs: Tuple[Optional[int]] = 1, 2, 3 これじゃダメじゃん ellipsis忘れてた http://mevius.5ch.net/test/read.cgi/tech/1726881242/634
635: デフォルトの名無しさん (ワッチョイ ef54-r5n3) [sage] 2025/02/14(金) 19:00:49.38 ID:y0//4+C60 どうせdataclassで型指定が必須になる http://mevius.5ch.net/test/read.cgi/tech/1726881242/635
636: デフォルトの名無しさん (ワッチョイ 8edb-u07z) [] 2025/02/14(金) 22:20:16.99 ID:zA34SgDn0 age : int = int(9) 右のint()は不要ってことだよね 今だと全部上の文にしようとしていました http://mevius.5ch.net/test/read.cgi/tech/1726881242/636
637: デフォルトの名無しさん (ワッチョイ ef54-r5n3) [sage] 2025/02/14(金) 22:27:43.41 ID:y0//4+C60 型なんかコンテキストに任せるperlの時代がまた来ないかな 厳密なのはCに任せておいて、手抜き派は限界まで脱力しないと http://mevius.5ch.net/test/read.cgi/tech/1726881242/637
638: デフォルトの名無しさん (ワッチョイ 8edb-u07z) [] 2025/02/14(金) 23:33:39.76 ID:zA34SgDn0 perlは$@%で変数の中身と参照方法の手がかりがあるの楽すぎる しかも記号の切り替えでアクセス方法も切り替えられる 初心者の俺だけかもしれないけど http://mevius.5ch.net/test/read.cgi/tech/1726881242/638
639: デフォルトの名無しさん (ワッチョイ 7f6e-HfJw) [sage] 2025/02/15(土) 00:03:38.48 ID:7QZxROg40 >>638 dollar_とかatmark_とか変数に付ければいいのでは? http://mevius.5ch.net/test/read.cgi/tech/1726881242/639
640: デフォルトの名無しさん (ワッチョイ ef54-r5n3) [sage] 2025/02/15(土) 00:09:45.51 ID:nmEKbiHe0 指し示す時は%varとか@varだけど、使う時は$var{}とか$var[]なのは、 普通に混乱するよな 同じ名前が使えるのはやばすぎるので、敢えて使わないようにしてた http://mevius.5ch.net/test/read.cgi/tech/1726881242/640
641: デフォルトの名無しさん (ワッチョイ 0701-Wuzd) [sage] 2025/02/15(土) 00:24:38.71 ID:Ff6IMwfd0 >>636 右のint()はintにキャストしたい時に使う 左のintも大半の箇所では不要 数値リテラルで初期化する場合に明示的に型を書く必要があるケースはあまりない 上で書かれてるdataclassのfieldなんかは例外 http://mevius.5ch.net/test/read.cgi/tech/1726881242/641
642: デフォルトの名無しさん (ワッチョイ 1a8b-RGTj) [sage] 2025/02/15(土) 01:12:51.65 ID:8VzqP0+T0 type aliasでwin32 apiみたいに狂ったようなヘッダーファイルのimportとかになったら嫌だな http://mevius.5ch.net/test/read.cgi/tech/1726881242/642
643: デフォルトの名無しさん (ワッチョイ 7f32-pSVK) [sage] 2025/02/15(土) 02:36:03.74 ID:jP/E47uy0 型ヒントないとやだやだ http://mevius.5ch.net/test/read.cgi/tech/1726881242/643
644: デフォルトの名無しさん (ワッチョイ 8edb-u07z) [] 2025/02/15(土) 03:01:40.24 ID:uBYSxski0 >>641 ありがとうございます http://mevius.5ch.net/test/read.cgi/tech/1726881242/644
645: デフォルトの名無しさん (ワッチョイ 8edb-u07z) [] 2025/02/15(土) 03:03:06.76 ID:uBYSxski0 >>640 なるほど http://mevius.5ch.net/test/read.cgi/tech/1726881242/645
646: デフォルトの名無しさん (ワッチョイ bbe4-1V4e) [sage] 2025/02/15(土) 09:21:15.19 ID:PDHi7G9/0 一括代入の左辺って、正確にはタプルではないよね。タプルに引き付けて考えるより、代入文の構文の1類型として整理しておく方が良いんじゃないかと思うが。 http://mevius.5ch.net/test/read.cgi/tech/1726881242/646
647: デフォルトの名無しさん (ワッチョイ ab62-5zF4) [sage] 2025/02/15(土) 10:22:34.31 ID:FKA6BWJy0 >>> x = a, b = 2, 3 >>> type(x) <class 'tuple'> よくわからんな http://mevius.5ch.net/test/read.cgi/tech/1726881242/647
648: デフォルトの名無しさん (ワッチョイ 1e2a-pN73) [sage] 2025/02/15(土) 10:51:26.01 ID:HEvUb6VY0 >>646 タプルとおもっていたが、正確には何なの? http://mevius.5ch.net/test/read.cgi/tech/1726881242/648
649: デフォルトの名無しさん (ワッチョイ 0601-Wuzd) [sage] 2025/02/15(土) 13:22:10.39 ID:j/KKg+ui0 タプルだよ a, b = 1, 2 は(a, b) = (1, 2)と同じ 内部的にも一旦タプルとして扱われてunpackingが行われる [a, b] = 1, 2とかにすれば左辺はリストになるけど 括弧省略したカンマ区切りの場合はタプル http://mevius.5ch.net/test/read.cgi/tech/1726881242/649
650: デフォルトの名無しさん (ワッチョイ 6aeb-12Ab) [sage] 2025/02/15(土) 14:36:18.19 ID:0rXlrcS60 たとえば、タプル (3, 4) では、(要素0の)3を指すポインタと(要素1の)4 を指すポインタとはメモリ上隣接した位置に配置されるけど、 a = 1 b = 2 の後に a, b = 3, 4 と一括代入をしても、(一旦タプルが作られるのかどうかはともかく)そういうことにはならないんじゃない? *[a, b], c = 1, 2, 3 のようないわゆるスター代入も、イテラブルのunpackではないと思うし。 http://mevius.5ch.net/test/read.cgi/tech/1726881242/650
651: デフォルトの名無しさん (ワッチョイ 1379-JmS7) [sage] 2025/02/15(土) 16:45:49.40 ID:yy3Wu/gg0 return文の複数値の返却もタプルだけど、 なぜかカッコを省略することが多い まぁ、あくまでカンマがタプルの肝だからということか http://mevius.5ch.net/test/read.cgi/tech/1726881242/651
652: デフォルトの名無しさん (ワッチョイ ef54-r5n3) [sage] 2025/02/15(土) 17:05:56.61 ID:0vZBBpUh0 リストの内包表記の[]を()にすると、 タプル内包表記ではなくジェネレータ内包表記になる罠 http://mevius.5ch.net/test/read.cgi/tech/1726881242/652
653: デフォルトの名無しさん (ワッチョイ 1a8b-RGTj) [sage] 2025/02/15(土) 17:06:49.88 ID:8VzqP0+T0 カッコの用途と意味が多くて初学者にはきついと思うわ ( ) はタプルとGenerater { } は辞書と集合 [ ] はリストと内包表記 http://mevius.5ch.net/test/read.cgi/tech/1726881242/653
654: デフォルトの名無しさん (ワッチョイ ef54-r5n3) [sage] 2025/02/15(土) 17:09:49.95 ID:0vZBBpUh0 空の集合で初期化しようとしてs = {} とか書いてしまう罠 (1,) とか class_ とか苦し紛れいろいろ http://mevius.5ch.net/test/read.cgi/tech/1726881242/654
655: デフォルトの名無しさん (ワッチョイ 6aeb-12Ab) [sage] 2025/02/15(土) 17:33:56.56 ID:0rXlrcS60 丸括弧は関数・クラス等の呼び出し、角括弧はリスト、波括弧は辞書および集合。 リストと辞書と集合には内包表記があって、generator式は内包表記の仲間。 そうやって整理する分には、(単要素タプルの書き方がちょっと不格好なところを除けば)そんなに違和感はないけどなぁ。 辞書についてリテラル表記は波括弧なのに参照は角括弧なのはちょっと引っかかりを憶えないでもないけれども、これは他の言語でもそうだし。 他の言語と比べて特に複雑とい
うことはないと思うけど。 むしろVBAみたいに、配列の添字指定に丸括弧を使わされたりする方が嫌だわ。 http://mevius.5ch.net/test/read.cgi/tech/1726881242/655
656: デフォルトの名無しさん (ワッチョイ bbe4-1V4e) [sage] 2025/02/15(土) 19:13:45.78 ID:PDHi7G9/0 immutableなタプルの要素にはそもそも代入ができないはずなので、それだけでも一括代入の左辺がタプルでないのは明らかなのでは。 一括代入の左辺に丸括弧や角括弧が使えるのは、入れ子構造になっているときにその構造を明確にするために過ぎず、リストやタプルとは全く関係ないって考えた方が分かりやすいように思う。 http://mevius.5ch.net/test/read.cgi/tech/1726881242/656
657: デフォルトの名無しさん (ワッチョイ 0601-Wuzd) [sage] 2025/02/15(土) 23:10:55.08 ID:DkQLiBFd0 左辺と右辺で違いがあるのは当たり前 右辺の値としてのタプルと左辺の言うなればパターンとしてのタプルが 全く同じように評価・実行されるわけがない タプルじゃないとしたほうがわかりやすいならそうすればいいとは思うけど 言語的には左辺の(a, b)もタプルという扱い http://mevius.5ch.net/test/read.cgi/tech/1726881242/657
658: デフォルトの名無しさん (ワッチョイ 0601-Wuzd) [sage] 2025/02/15(土) 23:12:46.33 ID:DkQLiBFd0 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()))]) http://mevius
.5ch.net/test/read.cgi/tech/1726881242/658
659: デフォルトの名無しさん (ワッチョイ ef54-r5n3) [sage] 2025/02/15(土) 23:29:56.42 ID:0vZBBpUh0 a = 1 b = 2 t = (a, b) print(t) # (1, 2) a = 3 b = 4 print(t) # (1, 2) 変数でもそのオブジェクトでもなく、 中に入ってるものでタプルを作る だから、(a, b) がタプルというのも不正確 http://mevius.5ch.net/test/read.cgi/tech/1726881242/659
660: デフォルトの名無しさん (ワッチョイ cb10-+v22) [sage] 2025/02/16(日) 00:53:20.10 ID:wh5aR4tC0 >>657-658 ASTでタプルとされているからタプルなのだ、それが言語上の定義なのだと言われればそうですかと言うしかないのだけれど、メモリレイアウトがどうなっているかは気になるな。a, bはメモリ上隣接した位置に配置されるのか、それとも、離れた位置に配置されるけれども代入文の左辺である限りはタプルと呼んでいいということなのか。 http://mevius.5ch.net/test/read.cgi/tech/1726881242/660
661: デフォルトの名無しさん (ワッチョイ c579-o6Hv) [sage] 2025/02/16(日) 07:14:20.57 ID:ThFtPuZc0 メモリ上隣接はCPythonの話? それこそはいそうですかだけど http://mevius.5ch.net/test/read.cgi/tech/1726881242/661
662: デフォルトの名無しさん (アウアウエー Sa13-9cJ9) [] 2025/02/16(日) 12:09:07.95 ID:rAQQ2/+ca (a, b): (int, int) = (0, 0) http://mevius.5ch.net/test/read.cgi/tech/1726881242/662
663: デフォルトの名無しさん (ワッチョイ fd01-/GLU) [sage] 2025/02/16(日) 13:10:26.00 ID:24lkekzA0 >>660 a, b = 1, 2とすればaとbが個別のローカル変数としてスタックフレームに追加されるだけ CPythonでは定義順になるから内部の配列内で隣接してる場合もあればしてない場合もある スタック上の変数でかつそれぞれ直接アクセスしかしないんだから隣接してるかどうかは実用上はどうでもいいこと http://mevius.5ch.net/test/read.cgi/tech/1726881242/663
664: デフォルトの名無しさん (ワッチョイ e3bf-CQxi) [sage] 2025/02/16(日) 13:51:57.18 ID:dLfK62nh0 そうでしょ、やっぱりメモリレイアウトが全然違うよね。 一括代入の左辺の場合には、その後もタプルとして使われることは全くなく個別的にしかアクセスしないのだから、メモリ上隣接しているかどうかがどうでもいいというのはある意味当然のことで、それは、通常の意味でのタプル(固定長でimmutableなコレクション・コンテナとしてのタプル)でないことの裏返しだと思うけど。 言語仕様上はそれもまたタプルとして定義されているということであれば
「タプルではない」というのは正しくないことになるしそれはそれで構わないのだけれど、重要なのは通常の意味でのタプルとは全く別物だという点であって、その点の認識はあった方が良いんじゃないかなぁ。 http://mevius.5ch.net/test/read.cgi/tech/1726881242/664
665: デフォルトの名無しさん (アウアウエー Sa13-9cJ9) [] 2025/02/16(日) 13:58:47.89 ID:rAQQ2/+ca a, b = 0, 0 構文解析上の文法は (a, b) = (0, 0) の略 ではなく a, b = (0, 0) の略 じゃないかな 代入前(右辺)はタプルで代入後(左辺)はタプルではなく個別 もし左辺がタプルならbindされた名前が無いので利用出来ない http://mevius.5ch.net/test/read.cgi/tech/1726881242/665
666: デフォルトの名無しさん (ワッチョイ e318-+v22) [sage] 2025/02/16(日) 14:30:13.56 ID:dLfK62nh0 一括代入の左辺のターゲット並びは、丸括弧や角括弧で囲うことも全く囲わないこともできる。 角括弧で囲った場合はリストになり、丸括弧で囲った場合や全く囲わない場合はタプルになるということはできるけれども、通常の意味でのリストやタプルとはまったく別物だし、その後もリストやタプルとして利用されることはないので、それがリストやタプルであるということにどれほどの意味があるのか、むしろ通常の意味でのリストやタプルと混同してしまう
人が出かねない弊害の方が多いのではないかというのが個人的な感想。 むろん、言語仕様上、リストやタプルとして定義されていますということであれば、あえて逆らうつもりはないけれども、リストやタプルの概念の中に異質なものを抱え込むことになって概念内容が拡散するように思うし(e.g.要素に代入できるタプル)、概念整理としては、一括代入の左辺については、リストやタプルのリテラル構文の形式を借用した代入構文の一形式であって、それ自体としてはリストでもタプルでもないという形で整理した方が遥かに分かりやすいのではないかと思ってい
る。 http://mevius.5ch.net/test/read.cgi/tech/1726881242/666
667: デフォルトの名無しさん (アウアウエー Sa13-9cJ9) [] 2025/02/16(日) 15:20:14.54 ID:rAQQ2/+ca >全く囲わない場合はタプルになるということはできるけれども いや出来ないやろ http://mevius.5ch.net/test/read.cgi/tech/1726881242/667
668: デフォルトの名無しさん (ワッチョイ e318-+v22) [sage] 2025/02/16(日) 16:31:54.22 ID:dLfK62nh0 自分は、一括代入の左辺については(通常の意味での)リストやタプルとは区別した方がわかりやすいのではないかという立場だけど、これらもリストやタプルであると考える立場に立つ場合、その中で、丸括弧で囲むか否かによってタプルになったりならなかったりするという考え方はないんじゃない? ASTでは丸括弧がなくてもタプル扱いみたいだし(>>658) http://mevius.5ch.net/test/read.cgi/tech/1726881242/668
669: デフォルトの名無しさん (アウアウエー Sa13-9cJ9) [] 2025/02/16(日) 16:50:55.15 ID:rAQQ2/+ca 左辺がタプルになる代入は c = 0, 0 とか _ = 0, 0 の場合な訳で (後者は暗黙で名前が付かないbindの例で敢えて描いたけど) (a, b) = 0, 0 はタプルに代入してる訳じゃないでしょ という立場ですね http://mevius.5ch.net/test/read.cgi/tech/1726881242/669
670: デフォルトの名無しさん (ワッチョイ c57e-o6Hv) [sage] 2025/02/16(日) 17:02:45.20 ID:ThFtPuZc0 >>669 >>647 タプルでもリストでもない何かとしてもいいけどね 即値だけのコードも正当なのでbinding(assignment?)の有無は根拠にならんかも http://mevius.5ch.net/test/read.cgi/tech/1726881242/670
671: デフォルトの名無しさん (ワッチョイ e39c-+v22) [sage] 2025/02/16(日) 17:36:27.88 ID:dLfK62nh0 c = 0, 0 と _ = 0, 0 は、代入ターゲットが1つしかない単一代入の文だから、今の話題と直接的な関係はないかと。 一括代入として、 ア a, b = 0, 0 イ (a, b) = 0, 0 ウ [a, b] = 0, 0 の3つの文に実質的な違いは(おそらく)何もなく、あえて左辺がタプルだリストだという必要はないのではないか(少なくとも通常の意味でのタプルやリストではないので、これらがタプルやリストであると考える意味もほとんどないのではないか)、それよりも
一括代入の構文として共通のものとして理解する視点の方が有用なのではないかという感覚かな。 言語仕様上、リストやタプルの概念がこれらも含むような形で定義されているかはまた別の問題として。 http://mevius.5ch.net/test/read.cgi/tech/1726881242/671
672: デフォルトの名無しさん (ワッチョイ 3de8-TCCQ) [sage] 2025/02/16(日) 22:36:18.21 ID:38lJcH0O0 個人的には一括代入って言葉の方がよっぽど気になるけどな http://mevius.5ch.net/test/read.cgi/tech/1726881242/672
673: デフォルトの名無しさん (ワッチョイ e55b-+v22) [sage] 2025/02/16(日) 22:53:37.86 ID:6PRP0OeT0 用語法はまったく本質的な部分ではないので、意味が通じれば何でもいいと思うけど。一括代入、複数代入、多重代入、併行代入……好きなのを使えばいいんじゃない? 既に定着している用語法があるならそれに従っておく方が無難だとは思うが。 あとa = b = c みたいなのと語感上、区別しやすい用語だとなお良いね。 http://mevius.5ch.net/test/read.cgi/tech/1726881242/673
674: デフォルトの名無しさん (ワッチョイ 3de8-TCCQ) [sage] 2025/02/16(日) 23:06:15.10 ID:38lJcH0O0 じゃ左辺のタプルも意味が通じればなんでもいいんじゃない? http://mevius.5ch.net/test/read.cgi/tech/1726881242/674
675: デフォルトの名無しさん (ワッチョイ cb10-+v22) [sage] 2025/02/17(月) 00:13:36.55 ID:S+Nz3ahz0 要素に代入できるタプルというものを観念して、いわば特殊なタプルと位置付けてタプル概念に含める方向性で考えるのか、タプルとは区別して整理する方向性を指向するのかというのは、理屈としてはタプル概念の外縁の画定に関する1つの態度決定の問題だから、重要でないとはいえないだろうし、タプルに含める立場をとる場合でも、通常の意味でのタプル(immutableな固定長コンテナとしてのタプル)とは質的に異なるということを意識しておくことは実践
的にも意味がある……と自分なんかは思うけど、人の考え方はさまざまだからね。674が、用語法の違いと同程度のどうでもいい問題だと思うのなら、実際674にとってはそうなんでしょ。そのことを否定はしないよ。 http://mevius.5ch.net/test/read.cgi/tech/1726881242/675
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 327 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.016s