python--類-例項-繼承中變數的id是否變化
阿新 • • 發佈:2018-11-10
''' 注: 估計這麼亂的程式碼只有我自己能看。通過這段程式碼的驗證,證明了在類和例項的相對關係中, 把變數儲存為字串,數字,在各個類、例項之間變換的時候,變數的id是變化的, 把變數儲存為列表和字典的時候,id地址是不變的。id地址變與不變用於確認是否是同一份資料, 看一下這個變數是否是全域性變數 ''' class InitParam(object): def __init__(self): self.name={} print(id(self.name)) def set_name(self,name,score): self.name[name]=score def get_name_id(self): print(id(self.name)) params=InitParam() params.name params.get_name_id() class pyquantbook(): def __init__(self,params): self.name=params.name print(id(self.name)) def set_name(self,name,score): self.name[name]=score def get_name_id(self): print(id(self.name)) book=pyquantbook(params) book.set_name('guowenjie',60) book.name book.get_name_id() class A(): def __init__(self,book): self.name=book.name def set_name(self,name,score): self.name[name]=score def get_name_id(self): print(id(self.name)) a=A(book) print(a.name) print(id(a.name)) book.set_name('yunjinqi',60)