1. 先看一段属性继承的代码:

class User:
def __init__(self,name,age):
self.name = name
self.age = age class User1(User):
def __init__(self,name,age,height,weight):
self.height = height
self.weight = weight
# 此处像继承父类的name 和 age
super().__init__(name, age) user1 = User1('thomas',,,) print(user1.height)
print(user1.weight)
print(user1.name)
print(user1.age) #
#
# thomas
#

  说明1:当然这么写一点儿毛病都没有,但是有一个问题是,我们在子类继承的时候还需要在写明父类当中的具有的属性name和age嘛?这样写有点儿麻烦。

  说明2:我们如果有N个父类的参数,每次要继承父类参数的时候不带累死了,如果父类参数当中还有字典,字符串等等。如何处理?

  说明3:其实这里我们就用到了*args,**kwargs可变长参数的妙用了。我们定义父类有N个不同类型的参数,再来看一下,可以如何简单的应用。

  更改代码2

class User:
def __init__(self,name,age,address = 'Qingdao',dicts = {'key':'value'}):
self.name = name
self.age = age
self.address = address
self.dicts = dicts class User1(User):
def __init__(self,height,weight,*args,**kwargs):
super().__init__(*args,**kwargs)
self.height = height
self.weight = weight user1 = User1(,,'thomas',) print(user1.height)
print(user1.weight)
print(user1.name)
print(user1.age)
print(user1.address)
print(user1.dicts) #
#
# thomas
#
# Qingdao
# {'key': 'value'}

  说明1:很牛X吧?其实我们不用具体的说明父类有哪些属性参数值,用不定长参数就搞定了,这样简写了很多代码量:记住:super().__init__(*args,**kwargs)

  说明2:但是注意一点。*args和**kwargs要写到最后。而且在子类的构造函数上也要写上这两个东西。

 

Python说文解字_继承过程中的参数集合的更多相关文章

  1. Python说文解字_父类的继承

    1. 第一个问题: 我们知道类是可以继承其他类的,在继承的过程中我们不光可以继承父类的方法,还可继承父类的属性,另外还可以在父类的基础上添加自己的东西. 2. 第二个问题: 我们继承父类属性和方法的时 ...

  2. Python说文解字_详解元类

    1.深入理解一切接对象: 1.1 什么是类和对象? 首先明白元类之前要明白什么叫做类.类是面向对象object oriented programming的重要概念.在面向对象中类和对象是最基本的两个概 ...

  3. Python说文解字_杂谈05

    1. isinstance和type: is和==符号,is指的是内存地址,是不是一个对象,ID知否相同 集成链 class A: pass class B(A): pass b = B() prin ...

  4. Python说文解字_杂谈09

    1. 元类编程代码分析: import numbers class Field: pass class IntField(Field): # 数据描述符: # 初始化 def __init__(sel ...

  5. Python说文解字_杂谈08

    1. Python变量到底是什么? Python和Java中的变量本质不一样,python的变量实质是一个指针 int str,便利贴 a = 1 # 1. a贴在1上面 # 2. 它的过程是先生成对 ...

  6. Python说文解字_杂谈07

    1. 深入dict from collections.abc import Mapping,MutableMapping # dict 属于mapping类型 a = {} print(isinsta ...

  7. Python说文解字_杂谈02

    1. Py中三个中啊哟的概念type.object和class的关系. type生成了int生成了1 type->class->obj type用来生成类对象的 object是最顶层的基类 ...

  8. Python说文解字_杂谈01

    1. Python在Ubuntu下面下载Python 2. 安装依赖包 sudo apt-get update sudo apt-get install build-essential python- ...

  9. Python说文解字_杂谈06

    1. 序列类型的分类: 容器类型:list.tuple,deque 扁平序列:str.bytes.bytearray.array.array 可变序列:list.dequte.bytearray.ar ...

随机推荐

  1. JS - 获取任意一天的0点和23:59:59时间

    转载自 https://www.cnblogs.com/sk-3/archive/2019/07/23/11232750.html 使用了setHours() 方法 setHours() 方法用于设置 ...

  2. 6 —— node —— 响应一个完整的页面

      const http = require('http'); const fs = require('fs'); const server = http.createServer(); server ...

  3. Python 列表/元组/字典总结

    序列是Python中最基本的数据结构.序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推. Python有6个序列的内置类型,但最常见的是列表和元组. 序列 ...

  4. Spring源码分析——(001)环境搭建

    1.官方参考 spring-framework的github链接:https://github.com/spring-projects/spring-framework 源码环境搭建官方参考1:考如何 ...

  5. 剑指offer - 顺时针打印矩阵 - JavaScript

    题目描述 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下 4 X 4 矩阵: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 则依次打印 ...

  6. java中JDBC当中请给出一个DataSource的HelloWorld例子

    在前面 的jdbc的Helloworld程序当中,我们用DriverManager来获取数据库连接.事实上通过这种方法获取数据库连接,是比较耗费计算机资 源的.当然了,这也是没有办法的事儿.就像我们买 ...

  7. GDI+应用

    GDI+:Graphics Device Interface Plus也就是图形设备接口,提供了各种丰富的图形图像处理功能;在C#.NET中,使用GDI+处理二维(2D)的图形和图像,使用Direct ...

  8. 第十七篇 ORM跨表查询和分组查询---二次剖析

    ORM跨表查询和分组查询---二次剖析 阅读目录(Content) 创建表(建立模型) 基于对象的跨表查询 一对多查询(Publish与Book) 多对多查询 (Author 与 Book) 一对一查 ...

  9. SpringMVC: Ajax技术

    SpringMVC:Ajax技术 简介 AJAX = Asynchronous JavaScript and XML(异步的 JavaScript 和 XML). AJAX 是一种在无需重新加载整个网 ...

  10. Java学生成绩系统

    package text; public class helloworld{ private String stunumber; private String name; private double ...