作业讲解1|学习笔记

简介: 快速学习作业讲解1

开发者学堂课程【Python 入门 2020年版作业讲解1】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/639/detail/10398


作业讲解1

 

内容简介

一、 作业

1. 设计两个类

2. 写一个计算器类,可以加、减、乘、除计算

3.创建一个 python 类,添加一个类字段用来统计 python 类的对象的个数

 

一、作业

哪些地方有问题,需要大家思考,这个作业不是特别难

1.#设计两个类:

#-一个点类,属性包括 x,y 坐标。

#-一个 Rectangle (矩形),属性,有左上角和右下角的坐标,

#方法:

1.计算矩形的面积

2.判断点是否在矩形内

#实例化一个点对象,一个矩形对象,输出矩形的面积,输出点是否在矩形内

首先要定义一个类,点类,有俩个属性,一个 x,一个 y

class point(object):

def_init_(self,x,y):

Self.x=x

Self.y=y

Class rectangle(object):

def_init_(self,top_left,bottom_right)

Pass

P=point(2,5)

#point方法在创建时,需要两个 int类型的参数,用来表示 x,y 坐标

def__init__(self,x:int,y:int):   /int的意思就是创建 point,需要俩个 int 类型的变量/

self.x=x

self.y=y

坐标系图:

image.png用任意一个地方画一个点,这个点有 x轴坐标,还有 y轴的坐标,x,y都是数字类型,可以是整数,也可以是负点数

矩形的类:(矩形就是平行直角四边形)

class Rectangle(object):

def__init__(self,top_left:point,bottom_right:point):

self.top_left=top_left

self.bottom_right=bottom_right

def get_area(self):

#面积:长*宽

length=abs(self.bottom_right.x-self.top_left.x)

width=abs(self.top_left.y-self.bottom_right.y)

return length*width

def is_inside(self,point):

# if self.bottom_right.x>=point.x>=self.top_left.x and self.top_left.y>=point.y>=self.bottom_right.y

#  return True

#else:

#  return False

return self.bottom_right.x>=point.x>=self.top_left.x and self.top_left.y>=point.y>=self.bottom_right.y

p1=point(4,20)   #定义左上角的点

p2=point(30,8)   #定义右下角的点

r=Rectangle(p1,p2) #把左上角和右下角的点传递给矩形

print(r.get_area())   #12*26    

运行结果:出现了矩形的面积312

判断点是不是在矩形里面:

x值大于左上角 x值,小于右下角的 x值;y值要大于右下角的 y值,小于左上角的 y值,说明点在里面。

p=point(10,13)

print(r.is_inside(p))   运行结果正常

如 p=point(20,30)    运行结果不在范围内

想判断多个点:

x=point(20,20)

print(r.is_inside(x))

坐标系图:

image.png左上角的点和右下角的点,为了计算方便,设置为整数。这俩个点是 point类型的数据。

点和矩形的关联在于,矩形左上角和右下角的数据,是一个 point类型的数据。

2. 写一个计算器类,可以加、减、乘、除计算

class Calculator(object):

def add(self,a,b):

return a+b

c=Calculator()  #有必要创建一个实例对象吗?

print(c.add(4,5))    

运行结果是9

简化写法:

class Calculator(object):

@staticmethod

def add(a,b):

return a+b

And里面有 self对象,c创建出了一个实例对象,其实这个实例对象没有必要创建。

上面要创建实例对象是因为函数里面要用到实例对象,c创建了没有用到它。

3.创建一个 python类,添加一个类字段用来统计 python类的对象的个数

在 init方法或者在 new方法里面加一个 count,每次创建一个对象就加一个。

相关文章
|
6月前
|
JavaScript 搜索推荐
1+x作业0609
1+x作业0609
51 2
|
5月前
|
存储 监控 数据处理
Flink⼤状态作业调优实践指南:Datastream 作业篇
本文整理自俞航翔、陈婧敏、黄鹏程老师所撰写的大状态作业调优实践指南。
56581 5
Flink⼤状态作业调优实践指南:Datastream 作业篇
|
机器学习/深度学习 数据可视化 大数据
智能控制大作业
智能控制大作业
Day01-作业
猜测黑姑娘的年龄
58 0
|
开发者 Python
作业讲解2|学习笔记
快速学习作业讲解2
作业讲解2|学习笔记
|
前端开发
前端3.25作业
前端3.25作业
75 0
|
Serverless Scala 开发者
作业评讲 | 学习笔记
快速学习作业评讲
|
Scala 开发者
作业评讲|学习笔记
快速学习作业评讲。
110 0
|
JSON 数据格式 开发者
作业讲解|学习笔记
快速学习作业讲解
|
开发者 索引 Python
作业讲解1|学习笔记
快速学习作业讲解1
下一篇
无影云桌面