[過去ログ] Pythonのお勉強 Part68 (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
524(1): (ワッチョイ 9109-iO6U) 2022/10/30(日)03:06 ID:9F5gJDkR0(1/3) AAS
Python初心者ですが新事実を発見しました
クラスのメンバ変数はデフォルト値が設定してあっても
コンスタントラクタで初期化しないかぎり、別に生成したクラスobjと共有されてるようです
リストとか特定の変数限定かもしれないですが
525(1): (ワッチョイ 9109-iO6U) 2022/10/30(日)03:14 ID:9F5gJDkR0(2/3) AAS
具体的にこれですが
class A :
L = []
def __init__(self): pass
class X :
L = []
def __init__(self): self.L = []
a = A()
a.L.append(7)
b = A()
省6
526: (ワッチョイ 8bbb-T9F3) 2022/10/30(日)04:02 ID:2IVXofav0(1) AAS
それはメンバ変数でなくてクラス変数だからだよ
527: (ワッチョイ 9109-iO6U) 2022/10/30(日)04:51 ID:9F5gJDkR0(3/3) AAS
そういうことか
Pythonでクラス変数とインスタンス変数を取り違えてハマった
外部リンク:qiita.com
528: (ワッチョイ 13ad-ww+g) 2022/10/30(日)05:37 ID:q24pCrd50(1/2) AAS
韓国人は神さま!
全財産を寄進せよ!
マンセー!
529: (テテンテンテン MMeb-kKgp) 2022/10/30(日)07:07 ID:PYm3clPCM(1) AAS
>>525
pythonから入った者には
そらそうだろとしか思わないw
たぶんオレは他言語扱えないな
530: (ワッチョイ 1301-pRvw) 2022/10/30(日)07:49 ID:2N6ePwSn0(1/2) AAS
他の言語でも同等の機能を持つものはあるけどpythonはどちらの変数なのかを明示しないから混乱し易い
531(1): (ワッチョイ 7b66-gj4s) 2022/10/30(日)07:56 ID:WAC/PohS0(1/3) AAS
どっちも同じに見えるのはその方が便利だと思ったんだろうか
必要なら使う側で見分け付くように名前を付ければいいという柔らか運用
532: (ワッチョイ 1301-pRvw) 2022/10/30(日)08:30 ID:2N6ePwSn0(2/2) AAS
>>531
> どっちも同じに見えるのはその方が便利だと思ったんだろうか
変数宣言をしないって言うポリシーなので最初に使った場所で決めるようにした/せざるを得なかったじゃないかなって思ってる
> 必要なら使う側で見分け付くように名前を付ければいいという柔らか運用
使う側はそれでいいけど宣言する人が勘違いしてたら意味ないわけで...
533: (ワッチョイ 1379-87TA) 2022/10/30(日)08:44 ID:YV/Jz1Xt0(1) AAS
つい最近同じように、クラスを覚えようと
「python class」でググった一番上のサイトにやられた
外部リンク:camp.trainocate.co.jp
クラス変数もインスタンス変数もめちゃくちゃだった
534: (ブーイモ MM8d-T9F3) 2022/10/30(日)08:51 ID:KYgyTmU4M(1) AAS
クラス変数をself.でアクセスしない運用にすれば取り敢えず解決
535: (JP 0He5-3A4z) 2022/10/30(日)08:58 ID:ejVjSPjsH(1/2) AAS
self.__class__.foo
self.FOO
536(1): (ワッチョイ 1389-rDGy) 2022/10/30(日)11:40 ID:0ss8sts10(1/4) AAS
質問です。
requestsを使って画像をダウンロードする時、
一定のサイズ以下の物をダウンロードしないようにしたいです。
どのようにするといいでしょう?
537: (テテンテンテン MMeb-kKgp) 2022/10/30(日)12:00 ID:Ofy0PT2CM(1) AAS
>>536
どうすればいいって
自分で質問して自分で答え言ってるじゃん
538: (アウアウウー Sa9d-mHKc) 2022/10/30(日)12:02 ID:o3zlfJHfa(1/4) AAS
streamを有効にして、ちびちびと確認しつつ取得
539(1): (アウアウウー Sa9d-mHKc) 2022/10/30(日)12:03 ID:o3zlfJHfa(2/4) AAS
事前にわかってりゃその時点で止めればいいけどね
540: (ワッチョイ 1389-rDGy) 2022/10/30(日)12:10 ID:0ss8sts10(2/4) AAS
>>539
つまり一度ダウンロードしてからcv2等でサイズを確認し、
OKならリネームして保存、NOなら削除
という感じでしょうか?
541: (ワッチョイ 7b66-gj4s) 2022/10/30(日)12:28 ID:WAC/PohS0(2/3) AAS
そうでないことは質問者なんだから判ってるだろうに
542: (ワントンキン MMd3-+Dbv) 2022/10/30(日)12:37 ID:0WCgMjCVM(1) AAS
requests ファイルサイズってググれば一番上に出てくる
543: (アウアウウー Sa9d-mHKc) 2022/10/30(日)12:37 ID:o3zlfJHfa(3/4) AAS
サイズって、実データのサイズじゃなくて画像のピクセル数とか色のサイズってこと?
544: (JP 0He5-3A4z) 2022/10/30(日)12:41 ID:ejVjSPjsH(2/2) AAS
画像のサイズっていう文脈なら俺はim.sizeとかを想定するなー
request文脈なら容量のサイズだけどな!
545: (ワッチョイ 1389-rDGy) 2022/10/30(日)12:41 ID:0ss8sts10(3/4) AAS
すいません。
質問の仕方がまずかったです。
画像の横幅とか縦幅の方のサイズのことです。
横幅350px以下の画像をダウンロードする時に除外したいのです。
546: (アウアウウー Sa9d-mHKc) 2022/10/30(日)12:46 ID:o3zlfJHfa(4/4) AAS
まあフォーマットによっては頭だけ読めばわかるけど…
547(1): (ワッチョイ 7b66-gj4s) 2022/10/30(日)12:59 ID:WAC/PohS0(3/3) AAS
元々はサイズなんか判らん、というプロトコルがあって、
それでは不便だからと建て増しで追加してるから、
判る場合も判らない場合もあるんだよな
判ったとしても嘘をついている場合もある
548: (ワッチョイ 1389-rDGy) 2022/10/30(日)13:09 ID:0ss8sts10(4/4) AAS
>>547
なるほど
そんな事情があるとは知りませんでした。
オンライン上でサイズを調べるのは無理そうなので、
一度ダウンロードしてから仕分けるようにします。
ご迷惑をおかけしてしまいすいません。
ありがとうございました。
549(1): (ワッチョイ f102-+Dbv) 2022/10/30(日)13:18 ID:XddGgynb0(1/3) AAS
パッとヘッダ見た感じjpegなら0xA3にWORD値で高さ、0xA5に幅、どちらもリトルエンディアン
pngなら0x10にDWORD値で高さ、0x14に幅、リトルエンディアン
って感じだね
上手くヘッダの一部だけダウンロードして画像サイズを得る関数を作ればトラフィック軽減になるかも?
550(1): (ワッチョイ f102-+Dbv) 2022/10/30(日)14:39 ID:XddGgynb0(2/3) AAS
暇だから作ってみたおじさん
外部リンク:ideone.com
551(2): 2022/10/30(日)15:26 ID:VC4EQr6u(1) AAS
デザインパターンのSingletonパターンって必要ですかね・・
結局なんらかのカウンターで一元管理することになりませんか・・
552(1): (ワッチョイ 3909-DL5s) 2022/10/30(日)15:49 ID:Hd1qfqu50(1/2) AAS
バイトコードってヒープ領域に格納されてvmに渡されるのですか?
553(1): (ワッチョイ 1361-4kdC) 2022/10/30(日)16:53 ID:pkba5bNo0(1) AAS
>>549
ビッグエンディアンね
jpegは画像サイズが含まれるセグメントの位置が固定ではないので決め打ちは危険
554: (アウアウウー Sa9d-mHKc) 2022/10/30(日)16:56 ID:40a1nlTva(1) AAS
>>551
使わないほうが良いものである
555(1): (アウアウウー Sa9d-5cND) 2022/10/30(日)17:24 ID:yaCBWxQaa(1) AAS
>>552
そうです
内部的にはPyCodeObjectという形で実装されています
556: (ワッチョイ 3909-DL5s) 2022/10/30(日)17:53 ID:Hd1qfqu50(2/2) AAS
>>555
ありがとうございます!
557: (ワントンキン MMd3-1hc3) 2022/10/30(日)18:13 ID:CDidbViTM(1) AAS
>>524
他言語触ってて
先に型ヒントつけて宣言しとこで同じ間違いしたわ
558: (ワッチョイ f102-+Dbv) 2022/10/30(日)19:10 ID:XddGgynb0(3/3) AAS
>>553
本当だ逆に覚えてた恥ずかしい
JPEGはサイズ前の5byteが共通っぽかったから>>550ではFF C0 00 11 08を検索するようにしてみたけどFF C0後の3byteは可変っぽいね
そもそも1KB以内にサイズ情報があるかも分からないのか
559: (ワッチョイ 13ad-ww+g) 2022/10/30(日)23:05 ID:q24pCrd50(2/2) AAS
ここは朝鮮人のスレ
チョッパリはくるな!
560: (ワッチョイ 1363-HLP5) 2022/10/30(日)23:53 ID:vrlOFY0H0(1) AAS
発作か
561: (ブーイモ MM33-cv0M) 2022/10/31(月)14:05 ID:j6J+ogvNM(1) AAS
>>551
なんないよ
562: (ワッチョイ 1314-bpsI) 2022/11/01(火)02:33 ID:mmiO/WJW0(1/6) AAS
不特定の文字・数字・記号、またそれらの組み合わせを意味する表記で記入する方法を教えて下さい
[123456aaaあ井う~〜」
↑みたいなのがあったとして、数字や文字は毎回変わる、場合によっては桁数が変わったりもする
テキストファイル内で上記のパターンの文字列を見つけて、その前の位置で改行を入れるみたいなことをしたいです
イメージですが下記みたいに表して a に代入しておいて
[123456aaa文字] → [%%% ¥¥¥¥¥¥¥¥] or [%(桁数)¥(桁数)]
replace(a,”/n”+a) でテキストファイルを書き換えるようなことって可能ですか?
563: (ワッチョイ 1314-bpsI) 2022/11/01(火)02:42 ID:mmiO/WJW0(2/6) AAS
誤字 /n → \n
564: (ブーイモ MMeb-cv0M) 2022/11/01(火)03:36 ID:I1aopbaSM(1) AAS
なるほどわからん
565: (ワッチョイ 8b10-WE8j) 2022/11/01(火)08:16 ID:xJk+jZok0(1) AAS
これは煽りではなく真面目なアドバイスなんだが、プログラミングより国語を勉強した方がいい
その言語能力だと難しいと思う
566: (ワッチョイ 1314-bpsI) 2022/11/01(火)08:30 ID:mmiO/WJW0(3/6) AAS
222tq2tq2tq269ああ%64agaoiwahaio.59gagagahai3a.t69a 5>22gahaiiha
この文字列を
222tq2tq2tq269
ああ%64agaoiwaha
io.59gagagahai3a.t69
a 5>22gahaiiha
この出力結果にするにはどうすれば良いですか? なら大丈夫ですかね?
この場合だと「文字列2つ + 記号1つ + 数字2つ」のパターンを見つけて改行したい
567(1): (アウアウウー Sa9d-mHKc) 2022/11/01(火)08:48 ID:p4TXbqbPa(1) AAS
じゃあそのパターンで改行すれば…
正規表現でいいんじゃないかな
568: (ワッチョイ 694f-K3KU) 2022/11/01(火)08:51 ID:CMvcSOEo0(1) AAS
このスレよりも、正規表現のスレで聞けば?
569: (テテンテンテン MMeb-kKgp) 2022/11/01(火)09:10 ID:tDs0tp7pM(1) AAS
オホダナー
そうだよオホダヨ~
570: (ワッチョイ 1314-bpsI) 2022/11/01(火)09:37 ID:mmiO/WJW0(4/6) AAS
>>567
その正規表現の表記の方法がよく分からないです
123abcdeあいう
↓
“\d{3}\w*.{3}”
これじゃダメみたいで、どう表記するのが正解なのか分かる方いたら教えて欲しいです
571: (ワッチョイ 1314-bpsI) 2022/11/01(火)09:48 ID:mmiO/WJW0(5/6) AAS
できました。ありがとうございました
572: (アウアウウー Sa9d-+Dbv) 2022/11/01(火)10:42 ID:HBYRkZVUa(1) AAS
正規表現の勉強がてらやってみた
外部リンク:ideone.com
最後の1行はマッチしないね
573: (ワッチョイ 1314-bpsI) 2022/11/01(火)11:08 ID:mmiO/WJW0(6/6) AAS
表記自体は合っていたのですが、re.match()でやってたせいで出力されなかったみたいで、re.search()に変えるだけで解決しました
574: (ワッチョイ d347-gj4s) 2022/11/01(火)12:13 ID:vww+azZz0(1/3) AAS
matchは使わずに
search(r'^なにか')
でいいよな
fullmatchは^と$で
^や$を使うなというのであれば、$だけ使うパターンも整備されていないと不完全
575: (ワンミングク MMd3-g96c) 2022/11/01(火)16:21 ID:GYf/ELerM(1) AAS
俺は君にマッチしたい※
576: (ワッチョイ d9f0-5cND) 2022/11/01(火)16:40 ID:1fqXVNhi0(1) AAS
正規表現に関してはrubyやperlみたいに演算子にしてしまうのがベストだと思う
searchだとかmatchだとかregexpだとかmatch_allだとか覚えられんて
577: (ブーイモ MM33-cv0M) 2022/11/01(火)17:42 ID:59UjWoGEM(1) AAS
命名とかAPI設計がイケてない
match、search、fullmatch・・・
たまにしか使わない人は諦めて毎回リファレンス参照するしかない
578: (ワッチョイ d347-gj4s) 2022/11/01(火)17:59 ID:vww+azZz0(2/3) AAS
list.append()が破壊的だったかすら忘れてぐぐる
579: (ワッチョイ 8b89-g96c) 2022/11/01(火)22:54 ID:w1dGDiRI0(1) AAS
覚えられないのではない
覚えないという選択をしているのだ
覚えるために何か工夫したのか?
580: (ワッチョイ 9109-iO6U) 2022/11/01(火)22:55 ID:EqpfaKBX0(1) AAS
イテレータ判定されるのにfor できないんですが
イテレータとはforができるものではないんですか
X = type("")
if hasattr(X, '__iter__') :
for x in X : pass
581: (ワッチョイ fbe8-Sd0E) 2022/11/01(火)23:34 ID:yhai460Y0(1) AAS
X(= str)じゃなくXのインスタンスならそう
582: (ワッチョイ d347-gj4s) 2022/11/01(火)23:43 ID:vww+azZz0(3/3) AAS
覚えないといけない時点でおかしい
理解すれば覚えなくていいのが正解
list.append()は破壊的で、str.replace()は非破壊であることに、
合理的な説明は無い
その方が便利なことが多そうだからとか、メモリの都合とか、
一旦そう決めちゃったからとか、そんな理由に過ぎない
583: (ブーイモ MMdd-YnjT) 2022/11/02(水)00:26 ID:WNjxQYpUM(1/2) AAS
list.appendは配列の終わりにつけるだけ
str.replaceは配列の途中に差し込む可能性があるからでは?
メモリ操作のコストが違うじゃん
584: (ワッチョイ d347-gj4s) 2022/11/02(水)00:47 ID:ul/vZuFO0(1/4) AAS
配列が格納してある後ろに空きスペースがたくさん確保してあるならそうだろうけど
で、コストが実際に違ったとしてもそんなことは知らんがなでしかない
585(1): (ワッチョイ 8bbb-T9F3) 2022/11/02(水)00:58 ID:I1Z+o8fX0(1) AAS
みんな知ってることだけど、listはmutableでstrはimmutableだからだよ。
これでもう各関数が破壊的かどうかいちいち覚える必要はなくなったね!
586: (ブーイモ MMdd-YnjT) 2022/11/02(水)01:00 ID:WNjxQYpUM(2/2) AAS
listはある程度後ろに確保してるしコストが実際に違ったらそれは明確に合理的な理由でしょ
587: (ワッチョイ d9f0-5cND) 2022/11/02(水)01:17 ID:jyU6y3CY0(1/6) AAS
>>585
これ
まあそういうものとして覚えるしかないわけだけど
588: (テテンテンテン MMeb-kKgp) 2022/11/02(水)07:59 ID:cbFKoHcVM(1) AAS
べつに目的の物が作れればどうでもいいんじゃないの?
ミッションクリティカルなモノをコレで作ったりするのかな?
589: (ワッチョイ 9914-lAaw) 2022/11/02(水)11:06 ID:FQ1wBQnh0(1/2) AAS
listに後ろとか関係なくない?
590(1): (アウアウウー Sa9d-mHKc) 2022/11/02(水)11:21 ID:1xZXeW2Ya(1/6) AAS
linkedなリストは関係ないよな
連続したメモリに入ってる配列的なやつはアレだけど
591: (ワッチョイ 9914-lAaw) 2022/11/02(水)11:39 ID:FQ1wBQnh0(2/2) AAS
>>590
str との違いも結局これだし
592: (ブーイモ MM8d-YnjT) 2022/11/02(水)14:55 ID:VFt43YlcM(1) AAS
pythonのリストはポインタの配列でしょ?
593: (アウアウウー Sa9d-mHKc) 2022/11/02(水)18:15 ID:1xZXeW2Ya(2/6) AAS
違います
594(2): (ワッチョイ d9f0-5cND) 2022/11/02(水)18:27 ID:jyU6y3CY0(2/6) AAS
PyObject*の配列です
PyObject **ob_item; // PyObject*の配列
Py_ssize_t allocated; // アロケートされてる個数
595: (ワッチョイ d9f0-5cND) 2022/11/02(水)18:28 ID:jyU6y3CY0(3/6) AAS
cpythonなソースは読みやすい
596: (ワッチョイ d347-gj4s) 2022/11/02(水)18:42 ID:ul/vZuFO0(2/4) AAS
0から255までの数字が入った要素数1000の配列があって、
Cだとunsigned char list[1000];
みたいに宣言してlist[i]で参照するとアドレス計算で値を取ってくるけど、
pythonはどうやってるの?
597(2): (ブーイモ MM8d-YnjT) 2022/11/02(水)18:43 ID:4MCwg8YuM(1/2) AAS
ちょっと調べた限りやっぱりPythonのリストはポインタの配列だと思うんだが違うっていうなら何か教えて
insertの遅さとかで連結リストではないとは思うけど
598: (ワッチョイ 8b46-g96c) 2022/11/02(水)18:51 ID:wyluLqIy0(1) AAS
>>594が正しい
外部リンク[h]:github.com
599: (ワッチョイ d9f0-5cND) 2022/11/02(水)18:55 ID:jyU6y3CY0(4/6) AAS
cpythonのソースはマジで読みやすい
Rubyとかもうぐちゃぐちゃしてて読めねえもん
600: (ワッチョイ d9f0-5cND) 2022/11/02(水)19:05 ID:jyU6y3CY0(5/6) AAS
実際の配列のサイズはPyObject_VAR_HEADマクロのob_sizeに入ってる
601: (アウアウウー Sa9d-mHKc) 2022/11/02(水)19:12 ID:1xZXeW2Ya(3/6) AAS
>>597
別になんでもいいんです
602: (アウアウウー Sa9d-5cND) 2022/11/02(水)19:14 ID:5K2+hbiBa(1/3) AAS
答え書かれてるのに全く分かってなくて草
603: (アウアウウー Sa9d-mHKc) 2022/11/02(水)19:30 ID:1xZXeW2Ya(4/6) AAS
大学行くと実装と仕様の区別がつくようになるかも?
604: (ワッチョイ f102-+Dbv) 2022/11/02(水)19:31 ID:l50Y39h10(1/2) AAS
>>594
つまりポインタの配列
605(1): (ワッチョイ d347-gj4s) 2022/11/02(水)19:31 ID:ul/vZuFO0(3/4) AAS
listにappendすると、ポインタの配列の末尾にポインタが追加される
配列のサイズが変わるので、サイズを増やした配列を作ってコピーしないとできない
筈なのに、idを調べると変わらない
**ob_itemに入ってる値は変わるけど、**ob_item自体のアドレスは変わらない
ということ?
606: (ワッチョイ f102-+Dbv) 2022/11/02(水)19:33 ID:l50Y39h10(2/2) AAS
組み込みだから作り直した配列にidがコピーされてたり
607: (ワッチョイ fbe6-Sd0E) 2022/11/02(水)19:36 ID:oCOyjRuB0(1) AAS
VM上は指すオブジェクト変わってないのにid変わったらあかんでしょ
608: (ワッチョイ 1379-87TA) 2022/11/02(水)19:40 ID:rAnbDRgM0(1/2) AAS
適当にリンクリストあたりかと思ってた
609(2): (ワッチョイ d347-gj4s) 2022/11/02(水)19:40 ID:ul/vZuFO0(4/4) AAS
appendしても同じオブジェクトという時点で違和感があるんだよな
明らかに別物やん
仮にappendが非破壊で
list = list.append()
とした時にidが変わる方が納得できる
610: (アウアウウー Sa9d-5cND) 2022/11/02(水)19:40 ID:5K2+hbiBa(2/3) AAS
>>605
逆だよ
ob_item自体は大きさが変わる時にreallocでアドレスが変わるけど
中身の方はポインタをコピーするだけだから変わらない
611(1): (アウアウウー Sa9d-mHKc) 2022/11/02(水)19:42 ID:1xZXeW2Ya(5/6) AAS
>>597
違うって理解できた?
612: (アウアウウー Sa9d-5cND) 2022/11/02(水)19:51 ID:5K2+hbiBa(3/3) AAS
>>609
そもそもが全部Cで実装されてるんだからそういうメモリモデルなんだ、という理解で良いと思うよ
613(1): (ブーイモ MM8d-YnjT) 2022/11/02(水)19:53 ID:4MCwg8YuM(2/2) AAS
>>611
あなたは何もわかってないのは理解できました
614: (アウアウウー Sa9d-mHKc) 2022/11/02(水)19:57 ID:1xZXeW2Ya(6/6) AAS
>>613
わかんない?
違うよ
どんどん主張が後退するんじゃねえかなという期待の下、繰り返すけど
615(1): (ワッチョイ 7997-uk66) 2022/11/02(水)21:11 ID:CsBXjP5R0(1/4) AAS
リンクリストはリスト的なものを作るときに第一の選択肢としてはこないと思うよ。
任意の要素へのアクセスがO(n)かかるから。
必ず頭から順番に読んで、途中に挿入したいことが多いとかいう状況だったら使うけど、こういう特性を、癖があると思う人の方が多いんじゃないかな。
そういうコンピュータサイエンスの初歩みたいなところの実装が気になるなら、Javaを勉強してみるといいかもね。
リストも辞書もセットも、複数の実装方法が標準で用意されてて明示的にどれを使うか決めなくちゃいけないから。
そう考えると初心者にJava教えてた頃ってコレクションで付いていけなくなり勉強を諦めた人多いんだろうか。
616: (ワッチョイ 7997-uk66) 2022/11/02(水)21:16 ID:CsBXjP5R0(2/4) AAS
>>609
夕飯を食べる前の自分と食べた後の自分は別のインスタンスか?って問いにyesと答えられるならばイミュータブルなものにしかidを付けてはいけないと考えているのだろう(そういう言語もある、Haskellとか)
そうでなければ、ミュータブルなインスタンスはミュータブルなんだからidが同じでも中身は変化すると考えるべきだろう
617(1): (ワッチョイ d347-gj4s) 2022/11/02(水)21:22 ID:jJasVlr90(1) AAS
idってCでのアドレスそのものなんでしょ
実装の都合でアドレスが変わったらidも変わるというだけの話で、
何らかのポリシーみたいなものは背景に無いような
618: (ワッチョイ 7997-uk66) 2022/11/02(水)21:30 ID:CsBXjP5R0(3/4) AAS
>>617
CPythonではな。(すみません知りませんでした)
しかしGCがかかりまくるVM上で動くPythonの実装もあるから、CPythonではそうっていう認識に留めておいたほうがいいんじゃないかなあ。
619(1): (ワッチョイ d347-gj4s) 2022/11/02(水)21:42 ID:2orW5ow60(1) AAS
idが変わる/変わらないとミュータブル/イミュータブルは一対一対応?
620: (ワッチョイ 7997-uk66) 2022/11/02(水)22:06 ID:CsBXjP5R0(4/4) AAS
>>619
まず、イミュータブルというのをどう定義するかによると思うけど
(タプルはイミュータブルだが、タプルの中にリストを入れた場合、リストほミュータブルで、リストに変更を加えてもタプルのインスタンスが新しくできるわけではない)
そういうややこしい例を除いても、
イミュータブルならば、値を変えたらidが変わる
値を変えてもidが変わらないならミュータブル
しか言えないんじゃない?
621: (ワッチョイ d347-gj4s) 2022/11/02(水)22:13 ID:F9kh54e50(1) AAS
定義や実装で何がミュータブルかがころころ変わってはいけなくて、
pythonではどんな環境でも同じものがミュータブルであるべき
で、idが変わる/変わらないが環境依存ならば、idとミュータブルは関係ないことになる
622: (ワッチョイ d9f0-5cND) 2022/11/02(水)22:18 ID:jyU6y3CY0(6/6) AAS
わけわからん
623(1): (ワントンキン MMd3-+Dbv) 2022/11/02(水)22:20 ID:yCeW62XuM(1) AAS
pythonの辞書ってc++のmapと違って内部でソートされてないからアクセス遅いっぽいんだよね
keysで取り出しても登録した順だし
文字列でも数値でもキーにできるからそういうものなのか
上下前次1-新書関写板覧索設栞歴
あと 379 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.040s