要求在2-1中重新定义Rect,原有代码基础上追加一个show(),且show()调用时没有参数,并将此instance的w和h的值作为字符串返回(见2-3中的调用和执行结果中的输出)。
class Rect:
pass
r1 = Rect()
r1.w = 5
r1.h = 4
print('生成了Instance')
r2 = Rect()
r2.w = 12
r2.h = 5
print('生成了Instance')
print(f'r1の宽为{r1.w}, 高为{r1.h}')
print(f'r2の宽为{r2.w}, 高为{r2.h}')
# 2-1
class Rect:
def show(self,r1,r2):
self.r1 = r1
self.r2 = r2
# 2-2 写出两个Rect_class的Instance,参数值参照输出结果
# 2-3 输出各个Instance的值
print(f'r1: {r1.show()}')
print(f'r2: {r2.show()}')
输出结果
r1: w:3, h:8
r2: w:5, h:12
以实现如下效果,可以的话请点击采纳答案。
# 2-1
class Rect:
def show(self):
return "w:%s, h:%s" % (self.w, self.h)
# 2-2 写出两个Rect_class的Instance,参数值参照输出结果
r1 = Rect()
r1.w = 3
r1.h = 8
r2 = Rect()
r2.w = 5
r2.h = 12
# 2-3 输出各个Instance的值
print(f'r1: {r1.show()}')
print(f'r2: {r2.show()}')
# 2-1
class Rect:
def show(self):
return f"w:{self.w}, h:{self.h}"
# 2-2 写出两个Rect_class的Instance,参数值参照输出结果
r1 = Rect()
r1.w = 3
r1.h = 8
r2 = Rect()
r2.w = 5
r2.h = 12
# 2-3 输出各个Instance的值
print(f'r1: {r1.show()}')
print(f'r2: {r2.show()}')
输出结果:
r1: w:3, h:8
r2: w:5, h:12
# 2-1
class Rect:
def show(self):
return f"w:{self.w}, h:{self.h}"
# 2-2
r1 = Rect()
r1.w = 3
r1.h = 8
r2 = Rect()
r2.w = 5
r2.h = 12
# 2-3
print(f'r1: {r1.show()}')
print(f'r2: {r2.show()}')
# 2-1
class Rect:
def show(self):
return f'r1の宽为{self.w}, 高为{self.h}'
# 2-2
r1 = Rect()
r1.w = 5
r1.h = 4
r2 = Rect()
r2.w = 12
r2.h = 5
# 2-3
print(f'r1: {r1.show()}')
print(f'r2: {r2.show()}')
class Rect:
# 类似Java的构造函数,有两个参数时执行self.r = arg,没参数时打印w,h
def show(self, *args):
if len(args) == 2:
self.r1 = args[0]
self.r2 = args[1]
else:
return f"w:{self.w}, h:{self.h}"
r1 = Rect()
r1.w = 5
r1.h = 4
print('生成了Instance')
r2 = Rect()
r2.w = 12
r2.h = 5
print('生成了Instance')
print(f'r1: {r1.show()}')
print(f'r2: {r2.show()}')