Closed. This question needs details or clarity。它当前不接受答案。
想改善这个问题吗?添加详细信息并通过editing this post阐明问题。
5年前关闭。
我真的不是很了解课堂,任何帮助都会很棒。
Rectangle类应具有以下私有数据属性:
Rectangle类应该具有创建这些属性并将其初始化为1的
测试班
正如其他人指出的那样,在Python中,setter和getter都是多余的,因为所有成员变量都是公共的。我知道您需要分配这些方法,但是将来,您知道可以节省麻烦,而直接访问成员即可
想改善这个问题吗?添加详细信息并通过editing this post阐明问题。
5年前关闭。
我真的不是很了解课堂,任何帮助都会很棒。
Rectangle类应具有以下私有数据属性:
__length
__width
Rectangle类应该具有创建这些属性并将其初始化为1的
__init__
方法。它还应该具有以下方法:set_length
–此方法为__length
字段分配一个值set_width
–此方法为__width
字段分配一个值get_length
–此方法返回__length
字段的值get_width
–此方法返回__width
字段的值get_area
–此方法返回Rectangle的面积__str__
–此方法返回对象的状态class Rectangle:
def __init__(self):
self.set_length = 1
self.set_width = 1
self.get_length = 1
self.get_width = 1
self.get_area = 1
def get_area(self):
self.get_area = self.get_width * self.get_length
return self.get_area
def main():
my_rect = Rectangle()
my_rect.set_length(4)
my_rect.set_width(2)
print('The length is',my_rect.get_length())
print('The width is', my_rect.get_width())
print('The area is',my_rect.get_area())
print(my_rect)
input('press enter to continue')
最佳答案
您的class
遇到了一些问题。看到下面的评论
class Rectangle:
# Init function
def __init__(self):
# The only members are length and width
self.length = 1
self.width = 1
# Setters
def set_width(self, width):
self.width = width
def set_length(self, length):
self.length = length
# Getters
def get_width(self):
return self.width
def get_length(self):
return self.length
def get_area(self):
return self.length * self.width
# String representation
def __str__(self):
return 'length = {}, width = {}'.format(self.length, self.width)
测试班
>>> a = Rectangle()
>>> a.set_width(3)
>>> a.set_length(5)
>>> a.get_width()
3
>>> a.get_length()
5
>>> a.get_area()
15
>>> print(a)
length = 5, width = 3
正如其他人指出的那样,在Python中,setter和getter都是多余的,因为所有成员变量都是公共的。我知道您需要分配这些方法,但是将来,您知道可以节省麻烦,而直接访问成员即可
>>> a.length # Instead of the getter
5
>>> a.length = 2 # Instead of the setter
>>> a.length
2
关于python - 创建一个Rectangle类,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27323373/
10-12 16:33