状況はこちら
class Person(object):
NumRid = 1
def __init__(self, name, rid = NumRid):
self.name = name
self.rid = rid
NumRid += 1
class Investor(Person):
pass
次に、インタラクティブな python セッションに入り、入力してfrom file import *
から Investor('Bob') を入力すると、割り当て前にローカル変数 NumRid が参照されていることがわかりますNumRid += 1
。
グーグルでわかる限り、NumRidはクラスのローカル名前空間にあり、クラス関数からアクセスできるはずです....それでどうしたのですか?両方をグローバルに宣言する必要がありますか? または、クラスの名前空間に NumRid がある場合にそれを検索するために入力できる魔法の言葉はありますか?