self.x = x self.y = y
return self.x + self.y
return self.x - self.y
return self.x * self.y
if y != 0: return self.x / self.y else: raise ValueError('y can not be zero')
另外一个文件为3_29testGetAttr.py文件 代码为:
def run(x,y): compute_type = compute(x, y) inp = input('请输入需要计算的方法:')
#判断是否有这个属性 if hasattr(compute_type,inp): #有这个属性,则获取然后赋值给新的变量 fun_temp = getattr(compute_type,inp) print(fun_temp(x,y)) else: #如果没有则set方法,求两个数的平方和 setattr(compute_type,inp,lambda x,y:x*x+y*y) func_temp2 = getattr(compute_type,inp) print(func_temp2(x,y))
if name == 'main': m = int(input('请输入一个数:')) n = int(input('请再次输入一个数:')) run(m,n)
Sign in to make a reply
钱老板boss
另外一个文件为3_29testGetAttr.py文件 代码为:
def run(x,y): compute_type = compute(x, y) inp = input('请输入需要计算的方法:')
if name == 'main': m = int(input('请输入一个数:')) n = int(input('请再次输入一个数:')) run(m,n)