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. 计算机与材料成型与控制方面的应用,广东科技学院
  2. mysql association_mybatis association 一对一
  3. Microbiome:空间尺度对华北平原麦田土壤细菌群落的影响(南土所褚海燕组)
  4. asp.net 包含动态创建控件的容器如果要切换显示/隐藏不要用 Visible 属性
  5. java语言概念及特点相关问题
  6. python零基础怎么学-零基础python入门分析,如何做到一个月学会(深思极恐)
  7. VTK:可视化之TextureMapPlane
  8. Python 常见的17个错误分析
  9. Path环境变量的理解以及设置MinGW环境变量
  10. PowerDesigner常用设置
  11. android RecyclerView EditText 取消自动聚焦
  12. 游标迭代器(过滤器)——Scan
  13. spring boot task实现动态创建定时任务
  14. python一元线性回归算法_Python机器学习(二):线性回归算法
  15. Linux监控工具vmstat命令详解
  16. 删除一个数据库中所有数据的方法
  17. k-max-pooling
  18. SEO基础知识简介(一)
  19. vmbox让鼠标离开虚拟机
  20. Mint家族迎来了“瑟瑞娜”

热门文章

  1. 五角星符号怎么打出来
  2. Spark RDD用法
  3. SpringBoot多环境开发
  4. Android发展历程
  5. win10卸载更新的方法
  6. 职场潜规则之——言及莫论领导是非
  7. systemd、upstart和system V
  8. mysql查询1971年以前_mysql 初篇
  9. Spark:reduceByKey与groupByKey进行对比
  10. Java解析银联报文_银联ISO8583报文解析过程