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

相关文章
|
消息中间件 存储 NoSQL
|
人工智能 安全
学习笔记7
人工智能课程
78 0
|
分布式计算 算法 Hadoop
fuzzyQuery | 学习笔记
快速学习 fuzzyQuery
151 0
fuzzyQuery | 学习笔记
|
存储 Java 开发者
BinaryTree|学习笔记
快速学习BinaryTree
BinaryTree|学习笔记
|
人工智能 NoSQL JavaScript
正则查询|学习笔记
快速学习正则查询
111 0
|
存储 编译器 C++
c++学习笔记之类
预处理器封套: #ifndef XXX_H #define XXX_H ... class xxx{ ... } ... #endif 复制代码 如果没有文件包含此头文件,XXX_H被定义并包含这个头文件;如果已经包含,则不再定义和包含。 为了防止多次包含同一个头文件,尤其包含套包含的时候。注意命名要大写和下划线。
120 0
|
开发者 Python
if 练习_1|学习笔记
快速学习 if 练习_1
110 0
|
XML 缓存 安全
回顾| 学习笔记
简介: 快速学习回顾
100 0
|
JavaScript 前端开发 UED
nuxtjs 学习笔记
关于nuxtjs的一些使用感悟
|
JSON 数据挖掘 数据处理
总结| 学习笔记
快速学习总结
157 0