python 如何将 字典作为 对象的变量?
如题..classpeople:m={}def__init__(self,s,n):self.m[s]=ndefshow(self):print(self.m)p1=pe...
如题..
class people:
m = {}
def __init__(self, s, n):
self.m[s] = n
def show(self):
print(self.m)
p1 = people('年龄', 1)
p2 = people('年龄', 2)
p1.show()
p2.show()
>>>
{'年龄': 2}
{'年龄': 2}
结果为什么是一样的?? 展开
class people:
m = {}
def __init__(self, s, n):
self.m[s] = n
def show(self):
print(self.m)
p1 = people('年龄', 1)
p2 = people('年龄', 2)
p1.show()
p2.show()
>>>
{'年龄': 2}
{'年龄': 2}
结果为什么是一样的?? 展开
推荐于2016-11-23
展开全部
要理解一下python跟别的面向对象语言的不同,应该这样:
class people:
def __init__(self, s, n):
self. m = {}
self.m[s] = n
def show(self):
self. m = {}
print(self.m)
p1 = people('年龄', 1)
p2 = people('年龄', 2)
p1.show()
p2.show()
class people:
def __init__(self, s, n):
self. m = {}
self.m[s] = n
def show(self):
self. m = {}
print(self.m)
p1 = people('年龄', 1)
p2 = people('年龄', 2)
p1.show()
p2.show()
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
m是字典啊,你运行了p1 = people('年龄', 1)后m变成了{'年龄':1}
然后运行了p2 = people('年龄', 2)后m就变成了{'年龄':2}
所以你下面两行打印的都是people的m变量,肯定是一样的。
然后运行了p2 = people('年龄', 2)后m就变成了{'年龄':2}
所以你下面两行打印的都是people的m变量,肯定是一样的。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询