python super 变参数问题(五)
这是Python多层继承的一个特例,祖父,父亲,儿子都有 draw 方法,那么经过多次继承后,
- 如何对于不同层次的方法传递参数呢,可以看这篇文章python super 理解(四)
- 如何对于不同层次的方法传递参数呢,那么这个例子展现了一种解法,但是这种做法不够通用,在下一篇文章我给出更加通用的玩法
def myFun(ff,**kwargs): # print(kwargs)for key, value in kwargs.items():print ("%s == %s" %(key, value))print('#'*12)# Driver code
myFun(ff ='a',first ='Geeks', mid ='for', last='Geeks') # input_dict={'first' :'Geeks', 'mid' :'for', 'last':'Geeks'}
# myFun(**input_dict)
first == Geeks
mid == for
last == Geeks
############
class Root:def draw(self):# the delegation chain stops hereprint('Root Drawing draw ')assert not hasattr(super(), 'draw')class Shape(Root):def __init__(self, shapename, **kwds):self.shapename = shapename# print('Shape class',kwds)super().__init__(**kwds)def draw(self):print('Shape Drawing. Setting shape to:', self.shapename)super().draw()class ColoredShape(Shape):def __init__(self, color, **kwds):self.color = color# print('ColoredShape class',kwds)super().__init__(**kwds)def draw(self):print('ColoredShape Drawing. Setting color to:', self.color)super().draw()cs = ColoredShape(color='blue', shapename='square')
cs.draw()
ColoredShape Drawing. Setting color to: blue
Shape Drawing. Setting shape to: square
Root Drawing draw
python super 变参数问题(五)相关推荐
- python super 变参数问题(六)
参考链接 这是Python多层继承的一个特例,祖父,父亲,儿子都有 draw 方法,那么经过多次继承后,如何用一种通用的方法给不同层次的方法传递参数,特别是变长的,不定长度的参数. class Roo ...
- python super().__init__()参数_python类中super()和__init__()的区别
单继承时super()和__init__()实现的功能是类似的 class Base(object): def __init__(self): print 'Base create' class ch ...
- 【Python】大神教你五分钟搞清楚Python函数的参数!
灵活的参数 Python函数的形参种类多,且具有很高的灵活性.我们经常遇到:位置参数.关键词参数.仅限关键字参数.仅限位置参数等等.如果概念没彻底搞清楚,使用起来就不那么顺手. " 提要:参 ...
- [Python从零到壹] 五十九.图像增强及运算篇之图像锐化Scharr、Canny、LOG实现边缘检测
欢迎大家来到"Python从零到壹",在这里我将分享约200篇Python系列文章,带大家一起去学习和玩耍,看看Python这个有趣的世界.所有文章都将结合案例.代码和作者的经验讲 ...
- 软件测试学习 之 Python 函数默认参数
转载说明 作者:珞樱缤纷 出处:博客园 博文:Python进阶-函数默认参数 Python进阶-函数默认参数 写在前面 如非特别说明,下文均基于Python3 一.默认参数 python为了简化函数的 ...
- [Python从零到壹] 五十五.图像增强及运算篇之图像平滑(均值滤波、方框滤波、高斯滤波)
又是一年1024,首先,祝大家节日快乐! 欢迎大家来到"Python从零到壹",在这里我将分享约200篇Python系列文章,带大家一起去学习和玩耍,看看Python这个有趣的世界 ...
- Python之路【第五篇】:面向对象及相关
Python之路[第五篇]:面向对象及相关 Python之路[第五篇]:面向对象及相关 面向对象基础 基础内容介绍详见一下两篇博文: 面向对象初级篇 面向对象进阶篇 其他相关 一.isinstance ...
- python如何调用参数配置文件_python参数设置
广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 网上django大部分都是在命令行中运行manage.py时添加参数,没有涉及到 ...
- python查看函数参数_python函数参数
广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 最简单的无参数def functionname(): pass function ...
最新文章
- 操作系统学习:实模式进入保护模式
- Linux环境下安装Tomcat
- HANA kernel dump
- PropertyPlaceholderConfigurer实现配置文件读取
- LINQ to CSV,一种类型安全,动态的高性能方法
- python dlib gpu ubuntu conda_Ubuntu 下编译支持 GPU 的 TensorFlow 和 Dlib
- python模块导入及属性:import
- 30天自制操作系统 定时器
- 181101新闻:午后阳光下集思广益,课例研修尝试与挑战并存
- 淘宝商品比价定向爬虫
- 详解:Drools规则引擎探究以及在IOT的应用
- 倍福--和威伦触摸屏通信
- mobi电子书如何用Windows电脑阅读?
- LiveGBS国标GB/T28181如何配置按需云端录像(播放时候录像)和一直录像
- 通过canvas给图片添加水印
- 简单谈谈STM32(一) - 走近嵌入式
- 2020春招---飞鱼科技 一面面经
- Android studio Your SDK location contains non-ASCII characters解决方法
- 我为什么要累死自己不挣钱?
- Django企业it资产管理系统
热门文章
- PHP7.0 Window10 Redis安装教程
- linux i2c 设备节点读写
- 连载《一个程序猿的生命周期》- 32、两个企业急着上项目,紧急赶赴现场了解情况...
- 【转】Node.js最新Web技术栈(2015年5月)
- MongoDB学习札记第六篇之主从复制
- Web性能API——帮你分析Web前端性能
- 分不清的InputStream和OutputStream
- Assembly.Load()不能加载程序集的问题
- 电话无人应答转总机的配置方法
- MFC中的InitInstance()函数应该怎样理解