当前位置: 首页 > news >正文

python子类继承_Python:子类可以重载继承的方法吗?

原则上,重写的方法不必具有彼此相同的参数,但它们必须具有调用它们时使用的相同形式参数。因此,由于任何处理程序都可以由get调用body,所以它们必须是相同的。对于这一点,重写的要点是调用方不知道对象的确切类,因此如果它们都没有相同的参数,通常调用方不知道传递什么。因此,我认为,使用不同参数进行覆盖是一种不寻常的伎俩。

如果您更改了它调用的参数,则必须更改函数以匹配。这与继承无关,而是Python函数的工作方式。

如果需要更大的灵活性,可以使用关键字参数,这是将字典作为参数传递的一种奇特方式:class Detail(BaseHandler):

def body(self, **kwargs):

print kwargs['CSIN']

class MainPage(BaseHandler):

def body(self, **kwargs): # can ignore kwargs

class Cart(BaseHandler):

def body(self, **kwargs): # can ignore kwargs

class BaseHandler(webapp.RequestHandler):

def get(self, CSIN=None):

self.body(CSIN = CSIN, some_new_arg = 3)

class SomeNewHandler(BaseHandler):

def body(self, **kwargs):

print kwargs['some_new_arg']

不过,我确实有点怀疑这种做法是否明智:如果要大量添加新参数,而大多数实现忽略了大多数参数,那么body可能并不是这些参数的函数。实际上,这些参数可能是handler对象状态的一部分,您只是碰巧将其作为参数传递。显然,这种差异有些主观——对于每个对象只调用一次函数来说,传递字典和使用self作为字典之间并没有太大的实际差异。

相关文章:

  • python调用opengl_Python之OpenGL笔记(1):窗口工具包GLFW的安装
  • 最长有效括号python_leetcode 032中最长有效括号的Python实现,Leetcode032,python
  • 60多套html5移动端模板_扫盲贴:全网最系统、完整的Web前端和移动APP开发知识...
  • python实现端口转发_python实现超简单端口转发的方法
  • x9此计算机上没有hasp_150马力23方货厢,跑快递快运不妨看看陕汽轩德X9蓝牌轻卡...
  • 贝叶斯思维 统计建模的python_《贝叶斯思维:统计建模的Python学习法》--第3章Estimation(估计)介绍...
  • 手机 调起自带地图 java_安卓11系统再加紧封锁!国内第三方手机应用商店或将全部阵亡?...
  • 串口中断和定时器中断_STM32f103单片机(四)——定时器中断
  • 多个参数变更update_PTOSC在线DDL变更工具使用攻略
  • php和python学不明白_现在自学php和python那个合适?
  • 交通流元胞自动机模拟仿真 matlab源码_SLM工艺仿真综述(三)之《金属3D打印仿真的解决方案与思路 . 下篇》...
  • python 菜单按钮打开新窗口_Python Tkinter Menubutton菜单按钮
  • python selenium翻页_Python+Selenium自动化实现分页处理
  • python中不相等符号_python的关系运算符中,用来表示不等于的符号是
  • python 预测分析_如何用Python来预测分析离职率呢
  • 【347天】每日项目总结系列085(2018.01.18)
  • EOS是什么
  • java中的hashCode
  • Linux编程学习笔记 | Linux IO学习[1] - 文件IO
  • nodejs实现webservice问题总结
  • pdf文件如何在线转换为jpg图片
  • Python代码面试必读 - Data Structures and Algorithms in Python
  • spring-boot List转Page
  • SpringCloud集成分布式事务LCN (一)
  • text-decoration与color属性
  • 搞机器学习要哪些技能
  • 每天10道Java面试题,跟我走,offer有!
  • 容器服务kubernetes弹性伸缩高级用法
  • 使用 Docker 部署 Spring Boot项目
  • 手写一个CommonJS打包工具(一)
  • 想晋级高级工程师只知道表面是不够的!Git内部原理介绍
  • 项目实战-Api的解决方案
  • 一加3T解锁OEM、刷入TWRP、第三方ROM以及ROOT
  • 主流的CSS水平和垂直居中技术大全
  • 阿里云ACE认证学习知识点梳理
  • ​软考-高级-系统架构设计师教程(清华第2版)【第1章-绪论-思维导图】​
  • ​软考-高级-信息系统项目管理师教程 第四版【第23章-组织通用管理-思维导图】​
  • ​总结MySQL 的一些知识点:MySQL 选择数据库​
  • (11)MSP430F5529 定时器B
  • (175)FPGA门控时钟技术
  • (八)光盘的挂载与解挂、挂载CentOS镜像、rpm安装软件详细学习笔记
  • (附源码)ssm基于web技术的医务志愿者管理系统 毕业设计 100910
  • (转)chrome浏览器收藏夹(书签)的导出与导入
  • (轉貼) 2008 Altera 亞洲創新大賽 台灣學生成果傲視全球 [照片花絮] (SOC) (News)
  • .babyk勒索病毒解析:恶意更新如何威胁您的数据安全
  • .net core 6 集成和使用 mongodb
  • .NET Core使用NPOI导出复杂,美观的Excel详解
  • .NET HttpWebRequest、WebClient、HttpClient
  • .NET/C# 中设置当发生某个特定异常时进入断点(不借助 Visual Studio 的纯代码实现)
  • .net连接oracle数据库
  • /bin/bash^M: bad interpreter: No such file or directory
  • /使用匿名内部类来复写Handler当中的handlerMessage()方法
  • :O)修改linux硬件时间
  • @Bean, @Component, @Configuration简析
  • @for /l %i in (1,1,10) do md %i 批处理自动建立目录