博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
理解理解python中的'*','*args','**','**kwargs'
阅读量:6574 次
发布时间:2019-06-24

本文共 858 字,大约阅读时间需要 2 分钟。

http://blog.csdn.net/callinglove/article/details/45483097

 

讲了一大堆,

我也是用来理解类继承当中的参数行为的。

=================

在任何时候继承类和重写方法的,我们应当用到’*args’和’**kwargs’将接收到的位置参数和键值参数给父类方法。

=================

测试代码

#!/usr/bin/env python# -*- coding: utf-8 -*-class Model(object):    def __init__(self, name):        self.name = name    def save(self, force_update=False, force_insert=False):        if force_update and force_insert:            raise ValueError("Cannot perform both operations")        if force_update:            print "Updated an existing record"        if force_insert:            print "Created a new record"class ChildModel(Model):    def save(self, *args, **kwargs):        if self.name == 'abcd':            super(ChildModel, self).save(*args, **kwargs)        else:            return Nonec = ChildModel('abcd')c.save(force_insert=True)c.save(force_update=True)

 

结果

你可能感兴趣的文章
Dockerfile Tomcat镜像制作
查看>>
自适应备忘录 demo
查看>>
Sharepoint 2010弹出对话框
查看>>
静态类(C#)
查看>>
linux vi
查看>>
K:栈和队列的比较
查看>>
PHP中获取当前页面的完整URL
查看>>
【模板】左偏树(可并堆)
查看>>
Django框架之路由层、视图层
查看>>
深入分析escape()、encodeURI()、encodeURIComponent()的区别及示例
查看>>
正则查找文章内容关键字
查看>>
JS绘制拓扑图示例 (JTopo)
查看>>
世界最大电子展明年将移植到深圳
查看>>
iOS图片浏览器 - XLPhotoBrowser(类似微信多图片浏览效果)
查看>>
pymysql 单独获取表的栏位名称
查看>>
安卓srcCompat弄死我了
查看>>
实验四 递归下降语法分析程序设计
查看>>
虚幻4Matinee功能 基本概念及简单演示样例(Sequence编辑器)
查看>>
随机函数及随机公式推理过程
查看>>
Cookie的使用
查看>>