练习2|学习笔记

简介: 快速学习练习2

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

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


练习2

 

传入数据类型也可以是元组类型

代码:

import math

class Pointer(objJect):

def _init__(self, x, y):

self.x =x

self.y = y

class Circle(object) :

def _init__(self, cp, radius): # cp = p , radius = 3

self.cp = cp

self.radius = radius

 

def get_area(self):

return self.radius **2 *math. pi

def get_length(self):

return self.radius * 2* math.pi

def relationship(self, point):

distance = (point.x - self.cp.x)** 2+ (point.y - self.cp.y)** 2

if distance > self.radius** 2:

print( "在圆外)

elif distance < self.radius** 2:

print( '在圆内')

else:#等于的情况 

print("在圆上')

p = Pointer(3,4)

c = circle(p,3)

p1 = Pointer ( 10,10)

c.relationship(p1)

image.png

原理为有一个内存,内存里面有数据 p,c,p1,分别将三个数据的地址打印出,代码的实现是 relationship 的 point.x和 point.y 指向,point 指向了内存中的 P1,point1有 x:10、y:10的属性,circle 中有 cp:(3,4)、radius:5的属性,除了练习一的传入书局类型,也可以直接在 c = circle(p,3)的 p 位置直接传入元组(3,4),此时相当于将 cp 给到了一个元组(3,4)。

 

如果在练习一的代码基础上使用元组,需要将 relationship的 point 指向修改成元组类型(distance = (point.x - self.cp[0])** 2 +(point.y - self.cp[1]) ** 2)。

 

也可以把 circle 的 cp 为 x、y 属性,相应传入的时候改为数值输入, point.x 和 point.y 指向分别为 self.x 和 self.y。写代码可以很灵活,掌握思路是最重要的。

相关文章
|
机器学习/深度学习 分布式计算 DataWorks
EasyRec 使用介绍|学习笔记
快速学习 EasyRec 使用介绍。
904 0
|
算法 计算机视觉
OpenCV学习笔记--SIFT,SUFT
图像处理两大特征提取算法
104 0
|
开发者
手动任务|学习笔记
快速学习手动任务
60 0
手动任务|学习笔记
|
机器学习/深度学习 数据采集 算法
总结与回顾 | 学习笔记
快速学习总结与回顾
52 0
|
数据可视化 开发工具
超详细的vimtutor学习笔记(下)
第一讲 编辑 1.1 移动光标 使用 h、j、k、l 键可以使光标实现左、下、上、右的移动。 也可以使用 ↑ ↓ ← → 进行上下左右的移动。
68 0
|
Scala 开发者
ListBuffer 的使用 | 学习笔记
快速学习 ListBuffer 的使用
153 0
ListBuffer 的使用 | 学习笔记
|
安全 Java 程序员
Potainer 使用|学习笔记
快速学习 Potainer 使用
139 0
Potainer 使用|学习笔记
|
算法 开发者 索引
FuzzyQuery|学习笔记
快速学习 FuzzyQuery。
186 0
|
分布式计算 流计算 Spark
wildcardQuery | 学习笔记
快速学习 wildcardQuery
94 0
wildcardQuery | 学习笔记
|
开发者 索引
aggregations | 学习笔记
快速学习 aggregations
67 0