[過去ログ] Pythonのお勉強 Part68 (1002レス)
前次1-
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
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()
print(b.L) # 新規生成なのに値が入ってる

a = X()
a.L.append(7)
b = X()
print(b.L) # 正常
print(a.L) # 正常
527: (ワッチョイ 9109-iO6U) 2022/10/30(日)04:51 ID:9F5gJDkR0(3/3) AAS
そういうことか

Pythonでクラス変数とインスタンス変数を取り違えてハマった
外部リンク:qiita.com
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ

ぬこの手 ぬこTOP 0.044s