1. 定义一个矩形类,拥有属性:长、宽 拥有方法:求周长、求面积

    class Orthogon:def __init__(self, long=0, wide=0):self.long = longself.wide = widedef perimeter(self):print('周长:', (self.long + self.wide) * 2)def area(self):print('面积:', self.long * self.wide)o1 = Orthogon(3, 4)
    o1.perimeter()  # 周长: 14
    o1.area()   # 面积: 12
    
  2. 定义一个二维点类,拥有属性:x坐标、y坐标 拥有方法:求当前点到另外一个点的距离

    class Coordinates:def __init__(self, x=0, y=0):self.x = xself.y = ydef print_coordinates(self):print("x : ", self.x, ", y: ", self.y)def distance(self, other):print('我和你的距离只有:', ((other.x-self.x)**2 + (other.y-self.y)**2)**0.5)p1 = Coordinates(23, 32)
    p2 = Coordinates(26, 36)
    p1.print_coordinates()    # x :  0 , y:  0
    p2.print_coordinates()    # x :  23 , y:  32
    p1.distance(p2)     # 我和你的距离只有: 5.0
    
  3. 定义一个圆类,拥有属性:半径、圆心 拥有方法:求圆的周长和面积、判断当前圆和另一个圆是否外切

    import mathclass Circle:def __init__(self, x, y, r):self.x = xself.y = yself.r = rdef perimeter(self):print('周长:', 2*self.r*math.pi)def area(self):print('面积:', self.r**2*math.pi)def judge_circumscribed(self, other):if ((other.x-self.x)**2 + (other.y-self.y)**2)**0.5 == self.r + other.r:print('外切')else:print('不外切')c1 = Circle(4, 5, 3)
    c1.perimeter()  # 周长: 18.84955592153876
    c1.area()   # 面积: 28.274333882308138
    c2 = Circle(7, 9, 2)
    c1.judge_circumscribed(c2)  # 外切
    
  4. 定义一个线段类,拥有属性:起点和终点, 拥有方法:获取线段的长度

    class Segment:def __init__(self, x1, y1, x2, y2):self.x1 = x1self.y1 = y1self.x2 = x2self.y2 = y2def obtain_length(self):print('线段长度:', ((self.x2-self.x1)**2+(self.y2-self.y1)**2)**0.5)s1 = Segment(1, 3, 7, 11)
    s1.obtain_length()  # 线段长度: 10.0
    
  5. 定义一个狗类和一个人类:

    狗拥有属性:姓名、性别和品种 拥有方法:叫唤

    人类拥有属性:姓名、年龄、狗 拥有方法:遛狗

class Dog:def __init__(self, name, age, color):self.name = nameself.age = ageself.color = colordef bark(self):print(f'{self.name}在嘤嘤嘤!')class Person:def __init__(self, name, age, dog=None):self.name = nameself.age = ageself.dog = dogdef walk_dog(self):if self.dog:print(f'{self.name}带着{self.dog.name}要饭!')else:print(f'没有狗和{self.name}去要饭!')d1 = Dog('来福', 2, '黄色')
d1.bark()   # 来福在嘤嘤嘤!p1 = Person('常威', 20, d1)
p1.walk_dog()   # 常威带着来福要饭!p2 = Person('常威', 20)
p2.walk_dog()   # 没有狗和常威去要饭!

day17-面向对象作业相关推荐

  1. day17 面向对象基础

    day17 面向对象基础 一.编程思想 1.编程思想:程序员在面对一个问题的时候首先想到的解决这个问题的想法 2.三种编程思想: 面向过程编程(穷人思想) - 会基本语法和逻辑 函数式编程(小资思想) ...

  2. 第三模块 面向对象网络并发编程 | day17 面向对象基础

    第三模块 面向对象&网络&并发编程 从今天开始,我们将进入系列课程第3个模块的的学习,此模块包含如下三大部分知识: 面向对象,Python中支持两种编程方式来写代码,分别是:函数式编程 ...

  3. 【设计模式】面向对象作业-超级母牛的故事

    留的作业: 农场一头小母牛, 每年生头小母牛, 母牛五岁产母牛, 二十年上多少牛? 马老师给的这个问题我个人感觉不太好理解,就按照我自己的理解吧,我把题目给白话文一下: 农场中引进一只超级母体牛,它每 ...

  4. 【原创】面向对象作业:选课系统中用pickle储存多个对象间组合引用关系的那些坑...

    转载请注明出处:https://www.cnblogs.com/oceanicstar/p/9030121.html 想直接看结论先提前列出: 1.存储一个对象,文件不是真的给你存储的了对象这种东西, ...

  5. python类和对象介绍_Python开发基础-Day17面向对象编程介绍、类和对象

    面向对象变成介绍 面向过程编程 核心是过程(流水线式思维),过程即解决问题的步骤,面向过程的设计就好比精心设计好一条流水线,考虑周全什么时候处理什么东西.主要应用在一旦完成很少修改的地方,如linux ...

  6. day17面向对象基础

    面向对象基础 一.类和对象 什么类:拥有相同功能相同属性的对象的集合 什么对象:对象是类的实例 从生活的角度理解类和对象的集合 (抽象的概念) 杯子是类,塑料杯是对象,铁杯子是对象 # 创建类和创建对 ...

  7. python面向对象作业_python面向对象编程作业

    展开全部 import re class derivative: def __init__(self,s): self.s='+'+s if s[0] not in ['+','-'] else s ...

  8. python面向对象作业_面向对象作业

    day06打印菲波那切数列的前n项.使用循环和递归两种方式 ```python #打印菲波那切数列的前n项.使用循环和递归两种方式 a=int(input("请输入")) b=1 ...

  9. Java迷你共享单车系统(面向对象作业)

    目录 一,需求: 二,主要技能点: 三,主要代码实现: 1)主程序: 2)单车类: 3)公司类: 四,运行结果: 1)菜单 ​编辑 2)查看所有公司的所有Bike信息 3) 投放单车(单个投放) 4) ...

  10. day17 正则表达式作业

    利用正则表达式完成下面的操作: 一.不定项选择题 能够完全匹配字符串"(010)-62661617"和字符串"01062661617"的正则表达式包括( ABD ...

最新文章

  1. [No0000A6]Visual Studio 2015 中的常用命令的默认键盘快捷键-VS2015 Shortcut
  2. 从零开始--系统深入学习android(实践-让我们开始写代码-Android框架学习-2.service)...
  3. ADI官方源码快速搭建demo工程验证设计的正确性
  4. windows下搭建Apache+Mysql+PHP开发环境
  5. JavaScript学习(六十二)—解析选项和序列化选项
  6. 【笔试/面试】—— linux 拾遗(一)
  7. 树形DP Codeforces Round #135 (Div. 2) D. Choosing Capital for Treeland
  8. Unity 之圆环算法
  9. HaaS EDU场景式应用学习 - 光照信息屏
  10. Python实现中英互译
  11. 蓝色音箱改装电源_创新便携/无线音箱排行榜,创新便携/无线音箱十大排名推荐...
  12. python可能实现办公自动化吗,让工作化繁为简:用Python实现办公自动化
  13. 一个数据录入/查询的应用程序在登录时错误信息解决过程
  14. 2020东南大学网络空间安全复试经验分享
  15. Go 使用 buger/jsonparser 优化反序列化性能
  16. Oracle 设置 密码可以重复使用 the password cannot be reused
  17. matlab矩阵输出txt文件中,matlab怎么把矩阵输出到txt
  18. 基于html5的数据可视化实现方法研究,基于HTML5的数据可视化实现方法研究
  19. 目标管理是项目管理的核心思想之
  20. 【视频】vim代码飞天遁地之术

热门文章

  1. 软件开发团队成员分工_分析软件开发人员的能力–选择合适的团队成员
  2. 基于贝叶斯优化的离散组合序列问题调研
  3. 联想笔记本Y430p升级硬件(内存扩容+升级固态)
  4. 三天学会网络爬虫之Day03
  5. 文字保护纱-Material Design
  6. php判断浏览器语言国内外,PHP判断浏览器语言
  7. 删除pdf签名 acrobat
  8. 光学字符识别 OCR (Optical Character Recognition)是什么?
  9. 国家c语言二级机试题,国家二级计算机考试题目C语言机试题库.doc
  10. linux推送打印机脚本,共享Linux 打印机给Windows