Re: [問題] 繼承List的問題
class A:
m_list = [2]
m_number = 1
class B(A):
def __init__ (self):
self.m_number = A.m_number + 1
self.m_hi = 1
self.m_list = self.m_list[:]
self.m_list.append(3)
class C(A):
def __init__ (self):
print self.m_list
if __name__ == '__main__':
my_b = B()
my_c = C()
print my_b.m_number, id(my_b.m_number)
print my_b.m_hi, id(my_b.m_hi)
print my_c.m_number, id(my_c.m_number)
=>
[2]
2 23844636
1 23844648
1 23844648
int同數字的會指向同一address,不同數字時就會不同address了
這是python 用來省記憶體的方式
list要複製一份的話,可用[:]
不確定是不是你要的答案~
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 111.252.74.54
推
03/05 15:38, , 1F
03/05 15:38, 1F
討論串 (同標題文章)
完整討論串 (本文為第 2 之 3 篇):
0
2
Python 近期熱門文章
PTT數位生活區 即時熱門文章