Discuss / Python / 调用实例的瞬间就已经将实例固定下来了,后续重新class也不会改变实例

调用实例的瞬间就已经将实例固定下来了,后续重新class也不会改变实例

Topic source

尝试下来,发现一个问题调用实例的瞬间相当于把程序固定了,后续重新定义class不会影响重新定义的程序,通过print 可以对比得到不同的物理地址

比如,

#第一轮
class  Student(object):
	def __init__(self, name, score):
		self.name = name
		self.score = score
    def print_score(self):
        print('%s: %s' % (self.name, self.score))
#实例1
lisa = Student('Lisa',99)
#第二轮
class  Student(object):
	def __init__(self, name, score):
		self.name = name
		self.score = score
	def get_grade(self):
		if self.score >= 90:
		    return 'A'
		elif self.score >= 60:
		    return 'B'
		else:
		    return 'C'
	def print_score(self):
		print ('%s: %s, Level %s' % (self.name, self.score,self.get_grade()))

#创建实例2
bart = Student('Bart',58)

#调用函数输出
lisa.print_score()
bart.print_score()

##结果
#Lisa: 99  
#Bart: 58, Level C


HIPPO176

#2 Created at ... [Delete] [Delete and Lock User]

可以理解为向上调用?!


  • 1

Reply