练习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。写代码可以很灵活,掌握思路是最重要的。

相关文章
|
机器学习/深度学习 人工智能 自然语言处理
学习笔记
人工智能课程
76 0
|
Kubernetes Cloud Native Linux
K8S 初识_K8S 初识 | 学习笔记
快速学习 K8S 初识_K8S 初识
136 0
K8S 初识_K8S 初识 | 学习笔记
|
机器学习/深度学习 算法 开发者
神经元模型|学习笔记
快速学习神经元模型
神经元模型|学习笔记
|
Scala 开发者
ListBuffer 的使用 | 学习笔记
快速学习 ListBuffer 的使用
ListBuffer 的使用 | 学习笔记
|
数据可视化 Java 开发工具
超详细的vimtutor学习笔记(中)
第一讲 编辑 1.1 移动光标 使用 h、j、k、l 键可以使光标实现左、下、上、右的移动。 也可以使用 ↑ ↓ ← → 进行上下左右的移动。
106 0
|
数据可视化 开发工具
超详细的vimtutor学习笔记(下)
第一讲 编辑 1.1 移动光标 使用 h、j、k、l 键可以使光标实现左、下、上、右的移动。 也可以使用 ↑ ↓ ← → 进行上下左右的移动。
93 0
|
自然语言处理 流计算 开发者
termQuery | 学习笔记
快速学习 termQuery
|
设计模式 XML 前端开发
回顾 | 学习笔记
快速学习回顾,介绍了回顾系统机制, 以及在实际应用过程中如何使用。
回顾 | 学习笔记
|
机器学习/深度学习 算法 开发者
神经元模型| 学习笔记
快速学习神经元模型。
神经元模型| 学习笔记
|
存储 Java 开发者
BinaryTree|学习笔记
快速学习BinaryTree
BinaryTree|学习笔记