Python入门——面向对象基础(章节实操作业)
1.
class Student:
company = "Nak1l"
count = 0
def __init__(self, name, score):
self.name = name
self.score = score
Student.count = Student.count + 1
def say_score(self):
print("我的公司是:", Student.company)
print(self.name, '的分数是:', self.score)
s1 = Student('凇', 80)
s1.say_score()
print('一共创建{0}个Student对象'.format(Student.count))
2.设计一个名为 MyRectangle 的矩形类来表示矩形。这个类包含:
(1) 左上角顶点的坐标:x,y
(2) 宽度和高度:width、height
(3) 构造方法:传入x,y,width,height。如果(x,y)不传则默认是0,如果width 和height不传,则默认是100.
(4) 定义一个getArea() 计算面积的方法
(5) 定义一个getPerimeter(),计算周长的方法
(6) 定义一个draw()方法,使用海龟绘图绘制出这个矩形
import turtle
class MyRectangle:
def __init__(self, x=0, y=0, width=100, height=100):
self.x = x
self.y = y
self.width = width
self.height = height
def getArea(self, width=100, height=100):
"""
矩形面积
:param width: 长
:param height: 高
:return: 长 * 宽
"""
return self.width * self.height
def getPerimeter(self, width=100, height=100):
"""
矩形周长
:param width: 长
:param height: 高
:return: (长 + 宽) * 2
"""
return (self.width + self.height) * 2
def draw(self, x=0, y=0, width=100, height=100):
"""
画出矩形
:param x: 左上角坐标
:param y: 左上角坐标
:param width: 长
:param height: 高
:return:
"""
p = turtle.Pen()
p.width(2)
p.penup()
p.goto(self.x, self.y)
p.pendown()
p.goto(self.x, abs(self.y - height))
p.pendown()
p.goto(self.x + width, abs(self.y - height))
p.pendown()
p.goto(self.x + width, self.y)
p.pendown()
p.goto(self.x, self.y)
p.pendown()
turtle.done()
my_01 = MyRectangle(x=100, y=100, height=400, width=600)
print(my_01.getArea())
print(my_01.getPerimeter())
print(my_01.draw())