据我所知,Python没有显式的内置特性来实现接口。考虑以下情况:

我有一个包含多个类的项目。他们中的一些人使用了一种特殊的方法。这种方法在功能上或逻辑上都与它们都不一致,而且从技术上讲,它不应该出现在那里,更不用说它是同一个方法,在所有这些类中复制并粘贴它绝对是一个糟糕的做法。现在我可以创建一个类,并让所有这些类从中继承,所以他们可以使用这个方法。。。但话说回来,这些类之间没有任何共同点,如果它们有一个共同的超类,那将是愚蠢的。我可以用这个方法创建一个单独的类,将它的实例作为参数传递到任何地方,然后将该方法作为成员函数调用,但这看起来也是一个肮脏的举动,我真的很想用最优雅的方式来做这件事。在

我认为在这里粘贴所有这些代码来强调问题是没有用的,我将使用一个简化的模型,集中于我想要的:class 1():

def class1_specific_method (self):

common_method()

def common_method()

#some code

return

class 2():

def class2_specific_method (self):

common_method()

def common_method()

#some code

return

公共的_方法工作原理完全相同,在这两种情况下都是必需的,但是不能与这些类中的任何一个类结合。通常,如果是Java,我会使用一些静态类,或者只是为这些类实现一个接口。有什么办法让它看起来更干净更符合逻辑吗?在

python接口在哪里_在Python中实现接口?相关推荐

  1. java实现什么接口进行排序_使用Java中Comparator接口实现自定义排序

    一般情况下,自己动手写一个简单排序程序还是没有问题的,但是你能保证写出来的排序程序的时间复杂度吗?你能保证程序的正确性吗,鲁棒性呢,还有程序结构的清晰性,可维护性.......综上所述,学习一下排序接 ...

  2. python 打印数组变量_使用Python将数组的元素导出到变量中(unpacking)

    下面就为大家分享一篇使用Python将数组的元素导出到变量中(unpacking),具有很好的参考价值,希望对大家有所帮助.一起过来看看吧 最近工作中遇到一个问题,需要利用Python将数组(list ...

  3. python之禅 中文_《Python之禅》中对于Python编程过程中的一些建议

    <Python之禅>中对于Python编程过程中的一些建议 来源:中文源码网    浏览: 次    日期:2018年9月2日 [下载文档:  <Python之禅>中对于Pyt ...

  4. python自动化测试脚本后端_基于 python 的接口自动化测试

    本文来自作者:孙彦辉 在 GitChat 上精彩分享,「阅读原文」看看大家和作者交流了哪些问题 一.简介 本文从一个简单的登录接口测试入手,一步步调整优化接口调用姿势: 然后简单讨论了一下接口测试框架 ...

  5. 以下选项中python用于异常处理结构_《Python 程序设计》复习题

    目录 填空题 一.基础知识 二.序列 三.选择结构与循环结构和函数及面向对象.文件 选择题 一.Python 基础语法 二.基本数据类型 三.程序的控制结构 四.函数和代码复用 五.组合数据类型 六. ...

  6. python嵌入到程序_在应用中嵌入Python:转

    前面的章节讨论如何扩展Python,如何生成适合的C库等.不过还有另一种情况:通过将Python嵌入C/C++应用以扩展程序的功能.Python嵌入实现了一些使用Python更合适的功能.这可以有很多 ...

  7. python字符串去掉空行_从python中的字符串中删除空格

    python字符串去掉空行 如何在python中删除字符串中的空格 (How to remove whitespaces in a string in python) str.lstrip()str. ...

  8. python怎么更新数据库_在Python的Django框架中更新数据库数据的方法

    先使用一些关键参数创建对象实例,如下: >>> p = Publisher(name='Apress', ... address='2855 Telegraph Ave.', ... ...

  9. python整数转换字符串_使用Python中的str()函数将整数值转换为字符串

    python整数转换字符串 Given an integer value and we have to convert the value to the string using str() func ...

  10. 熊猫的python小课账号_学习python中的pandas有没有好的教程推荐?

    之前好多人私信我python数据分析怎么快速入门,我在这里直接介绍一下自己的心得经验吧. 要学习pandas,我并不建议看大量的教程,等看完教程,天都黑了,一觉醒来热情都凉了. 我的建议是,首先放平心 ...

最新文章

  1. 超全的数据库建表/SQL/索引规范,适合贴在工位上!
  2. Zabbix 3.2.6通过ODBC监控MySQLOracle
  3. JS 做的鼠标放大镜(初级)
  4. Python列表以及列表的处理方法
  5. BigDecimal类整除报错的解决方案
  6. 但是只要是女生的bibohuaianguandan
  7. 前端校验rules写法:
  8. Linux 2.6.39-rc3的一个插曲
  9. SAP全日志管理系统(堡垒机)
  10. mysql 堆表_Mysql聚集索引和非聚集索引(堆组织表和索引组织表)
  11. 执行pip命令时遇到 Fatal error in launcher: Unable to create process using ''
  12. 简单理解-Head First 设计模式
  13. 微信小程序实现组件之间的传值
  14. 08s01 mysql_mysql报错 code:08S01,msg:SQLSTATE
  15. Python量化选股入门:资本资产定价模型(CAPM)
  16. java之hashTab
  17. C语言编写的计算生肖年份的小程序
  18. Shell脚本之免交互
  19. Python计算机二级过考指南
  20. [数学/质数筛] 素数筛法

热门文章

  1. java的基本数据类型有什么特点_【Java】常用数据类型及其特点(万物都是变量)...
  2. 拓端tecdat|R语言时变向量自回归(TV-VAR)模型分析时间序列和可视化
  3. 拓端tecdat|R语言实现有限混合模型建模分析
  4. 拓端tecdat|R语言Rstan概率编程规划MCMC采样的贝叶斯模型
  5. linux7关闭开机自启,redhat7 设置开机自启
  6. 物体检测中常用的几个概念迁移学习、IOU、NMS理解
  7. 神经网络结构可视化工具总结实践大全
  8. getParameter和getAttribute区别(超详细分析)
  9. vs中能编译通过,但是会有红色下划线提示未定义标示符问题
  10. 决策树:ID3和C4.5