一.定义一个类:圆形,该类有半径,周长,面积等属性,将半径隐藏起来,将周长与面积开放

解答
import math
class Circle:
    def __init__(self,radius):
        self.radius=radius

    @property
    def area(self):
        return math.pi*self.radius**2

    @property
    def perimeter(self):
        return 2*math.pi*self.radius

c = Circle(10)
print(c.radius)
print(c.area)
print(c.perimeter)

二.使用abc模块定义一个phone抽象类 并编写一个具体的实现类

import abc #利用abc模块实现抽象类

class Phone(metaclass=abc.ABCMeta):
    @abc.abstractmethod #定义抽象方法,无需实现功能
    def phone_name(self):
        pass

    @abc.abstractmethod #定义抽象方法,无需实现功能
    def phone_price(self):
        '子类必须定义写功能'
        pass

class iPhone(Phone): #子类继承抽象类,但是必须定义方法
    def phone_name(self):
        print('苹果手机 11')

    def phone_price(self):
        print('价格一万')

class huawei(Phone): #子类继承抽象类,但是必须定义方法
    def phone_name(self):
        print('华为手机 pr30')
    def phone_price(self):
        print('价格两万')

i1 = iPhone()
h1 = huawei()

i1.phone_name()
h1.phone_name()
i1.phone_price()
h1.phone_price()

day 21作业的更多相关文章

  1. day 21 作业

    定义MySQL类 对象有id.host.port三个属性 定义工具create_id,在实例化时为每个对象随机生成id,保证id唯一 提供两种实例化方式,方式一:用户传入host和port 方式二:从 ...

  2. 20155213 第十二周课堂作业MySort

    20155213 第十二周课堂作业MySort 作业要求 模拟实现Linux下Sort -t : -k 2的功能 参考 Sort的实现 提交码云链接和代码运行截图 初始代码 1 import java ...

  3. 《UNIX环境高级编程(第3版)》

    <UNIX环境高级编程(第3版)> 基本信息 原书名:Advanced Programming in the UNIX Environment (3rd Edition) (Addison ...

  4. 【资料总结】html开发小实例

    目 录 第1章 1 HTML的基本标签 1 第2章 25 表格基础 25 第3章 53 表单和框架 53 第4章 77 CSS样式表 77 第5章 104 使用Dreamweaver制作网页 104 ...

  5. MySQL数据库基本操作(二)

    表结构操作 ( ALTER TABLE) 添加单列: ALTER TABLE tb1_name ADD [COLUNM] col_name column_definition [FIRST|AFTER ...

  6. SAP-财务知识点

    [转自 http://blog.itpub.net/195776/viewspace-1023912/] SAP FI/CO Reading RepositorySAP财务成本知识库 目 录前言.一. ...

  7. 团队作业8——第二次项目冲刺(Beta阶段)--5.21 second day

    团队作业8--第二次项目冲刺(Beta阶段)--5.21 second day Day two: 会议照片 项目进展 今天是beta冲刺的第二天,组长还在准备考试当中,我们继续做前端改进和后端安排,今 ...

  8. Java学习作业(14.4.21)

    前三次作业都是基础语法.真的好水啊.从这次开始记录. 1.编写Java程序,把当前目录下扩展名为txt的文件的扩展名全部更名为back. import java.io.*; import java.l ...

  9. 团队作业8——第二次项目冲刺(Beta阶段)Day4--5.21

    展开圆桌式会议: 会议内容:1.团队成员对昨天任务完成情况做一个简单交流,并对昨天工作中存在的问题提出集中讨论解决:2.按照昨天的昨天工作分配表做具体的任务分配:3.简单讨论明天的任务分配每个人的工作 ...

随机推荐

  1. mariadb 离线安装

    [root@localhost local]# cd /var/local[root@localhost local]# lsmariadb[root@localhost local]# cd /ma ...

  2. WEB应用中普通java代码如何读取资源文件

    首先: 资源文件分两种:后缀.xml文件和.properties文件 .xml文件:当数据之间有联系时用.xml .properties文件:当数据之间没有联系时用.properties 正题:   ...

  3. FreeSql (三十四)CodeFirst 迁移说明

    FreeSql 支持 CodeFirst 迁移结构至数据库,这应该是(O/RM)必须标配的一个功能. 与其他(O/RM)不同FreeSql支持更多的数据库特性,而不只是支持基础的数据类型,这既是优点也 ...

  4. python SSTI利用

    原理python的SSTI不仅可以向网页插入一些XSS代码,而且还可以获取一些变量和函数信息,尤其是secret_key,如果获取到则可以对flask框架的session可以进行伪造.对于tornad ...

  5. Dubbo 与 Spring Cloud 完美结合

    Dubbo 与 Spring Cloud 完美结合 1. 概述 可能说起来Dubbo,很多人都不陌生,这毕竟是一款从2012年就开始开源的Java RPC框架,中间由于各种各样的原因停止更新4年半的时 ...

  6. Git 从入门到熟练|不敢说精通

    前言 如果有一定版本管理软件基础或使用过 svn 的你,这篇 git 的文章应该是最适合你的.作者也是从 svn 过来,从开始的觉得 git 麻烦,到最后还是感觉 git 是最好用的版本控制软件. 虽 ...

  7. Jenkins 持续集成安装及使用简介

    博客地址:http://www.moonxy.com 一.前言 持续集成(Continuous integration,简称CI)指的是,频繁地(一天多次)将代码集成到主干. 持续集成的目的,就是让产 ...

  8. 关于ClassLoader的使用

    了解ClassLoader: /* * 了解类的加载器:ClassLoader * */ @Test public void testClassLoader() { // 获取到系统类加载器,加载用户 ...

  9. 39 (OC) 瀑布流、不规则UI

    39  (OC)  瀑布流.不规则UI

  10. SqlServer 统计1-12月份 每个月的数据(临时表)

    想做一个年度图表 效果如下,通过sqlserver来统计今年1-12月份每个月的数据,效果如下 sql语句网上找了很多都没有找到满意的 找到的其中一种写法是这样子的 这种写法对于前端来说很方便 不用进 ...