1. 子类不定义构造函数时候,默认引用父类构造函数

  1. class A(object):
  2. def __init__(self,name):
  3. self.name = name
  4.  
  5. def run(self):
  6. print 'name is',self.name
  7.  
  8. class B(A):
  9.  
  10. def run(self):
  11. print 'B name is',self.name
  12.  
  13. b = B('pp') #此处实例化时候需要定义父类的参数
  14. b.run()

Result:

B name is pp
[Finished in 0.1s]

2. 子类定义了构造函数,默认不会引用父类构造函数

  1. class A(object):
  2. def __init__(self,name):
  3. self.name = name
  4.  
  5. def run(self):
  6. print 'name is',self.name
  7.  
  8. class B(A):
  9. def __init__(self,passwd): #此处定义自身参数
  10. self.passwd=passwd #初始化自身属性
  11.  
  12. def run(self):
  13. print 'passwd is',self.passwd
  14.  
  15. b = B('pp')
  16. b.run()

Result:

passwd is pp
[Finished in 0.1s]

3. 子类定义了构造函数,如果需要使用父类构造函数需要显示调用

  1. class A(object):
  2. def __init__(self,name):
  3. self.name = name
  4.  
  5. def run(self):
  6. print 'name is',self.name
  7.  
  8. class B(A):
  9. def __init__(self,name,passwd): #此处定义要包含基类参数
  10. super(B,self).__init__(name) #引用基类参数
  11. self.passwd=passwd #初始化自身属性
  12.  
  13. def run(self):
  14. print "name is",self.name,'passwd is',self.passwd
  15.  
  16. b = B('tom','pp')
  17. b.run()

Result:

name is tom passwd is pp
[Finished in 0.1s]

Python构造函数使用的更多相关文章

  1. python 构造函数作用

    1. 构造函数的作用        构造函数主要用来在创建对象时完成对对象属性的一些初始化等操作, 当创建对象时, 对象会自动调用它的构造函数.一般来说, 构造函数有以下三个方面的作用:        ...

  2. Python 构造函数、 Python 析构函数、Python 垃圾回收机制

    构造函数与析构函数 构造函数: 用于初始化类的内容部状态,Python提供的构造函数式 __init__(); 也就是当该类被实例化的时候就会执行该函数.那么我们就可以把要先初始化的属性放到这个函数里 ...

  3. python构造函数和析构函数

    构造函数和析构函数 关注公众号"轻松学编程"了解更多. 1.构造方法的使用 ​ 很多类都倾向于将对象创建为有初始化状态.因此类可以定义一个名为__init__()的特殊方法(构造方 ...

  4. python 构造函数 析构函数

    #构造函数是在对象被创建是自动调用的方法,用来完成初始化操作class Test(object): def __init__(self, name): self.name = name print(' ...

  5. 探索 Python 学习

    Python 是一种敏捷的.动态类型化的.极富表现力的开源编程语言,可以被自由地安装到多种平台上(参阅 参考资料).Python 代码是被解释的.如果您对编辑.构建和执行循环较为熟悉,则 Python ...

  6. python继承问题

    python构造函数:__init__(): 如果子类定义了自己的__init__构造方法函数,当子类的实例对象被创建时,子类只会执行自己的__init__方法函数,如果子类未定义自己的构造方法函数, ...

  7. 20191225_Python构造函数知识以及相关注意事项

    Python构造函数格式为__init__() 注:下划线为两个而不是一个 可以有无参构造 instance: class city: def printout(self,first,second): ...

  8. Pandas系列

    系列(Series)是能够保存任何类型的数据(整数,字符串,浮点数,Python对象等)的一维标记数组.轴标签统称为索引. pandas.Series Pandas系列可以使用以下构造函数创建 - p ...

  9. Pandas数据帧(DataFrame)

    数据帧(DataFrame)是二维数据结构,即数据以行和列的表格方式排列. 数据帧(DataFrame)的功能特点: 潜在的列是不同的类型 大小可变 标记轴(行和列) 可以对行和列执行算术运算 结构体 ...

随机推荐

  1. 转 :hlda文献学习笔记

    David M.BLEI nCR文献学习笔记(基本完成了)  http://yhbys.blog.sohu.com/238343705.html 题目:The Nested Chinese Resta ...

  2. [2018集训队作业][UOJ424] count [笛卡尔树+括号序列+折线法+组合数学]

    题面 请务必不要吐槽我的标签 传送门 思路 一个很重要的结论:原序列的一组同构的解等价于同一棵拥有$n$个节点的笛卡尔树 注意笛卡尔树的定义:父亲节点是区间最值,并且分割区间为左右部分 所以如果两个序 ...

  3. POJ3264:Balanced Lineup——题解+st表解释

    我早期在csdn的博客之一,正好复习st表就拿过来.http://write.blog.csdn.net/mdeditor#!postId=63713810 这道题其实本身不难(前提是你得掌握线段树或 ...

  4. 放弃采用Mycat的条件

    Mycat::一个新颖的数据库中间件产品 设计使用Mycat时: 满足以下任意一条,请考虑放弃使用MyCat 有非分片字段查询 有分页排序 进行表JOIN操作,除非要确保两个表的关联字段具有相同的数据 ...

  5. props设置state误区

    class Component extends React.Component { constructor(props) { super(props); this.state = { value: t ...

  6. 【简单算法】37.Shuffle an Array

    题目: 打乱一个没有重复元素的数组. 示例: // 以数字集合 1, 2 和 3 初始化数组. ,,}; Solution solution = new Solution(nums); // 打乱数组 ...

  7. Educational Codeforces Round 6 C

    C. Pearls in a Row time limit per test 2 seconds memory limit per test 256 megabytes input standard ...

  8. 牛客练习赛42 出题的诀窍(数学+hash)

    出题的诀窍 题目链接:https://ac.nowcoder.com/acm/contest/393/C 题解: 由于他是在每一行选取一个元素,然后纵向来比较,这里行的顺序是不会影响的,所以我们将每一 ...

  9. POJ---3463 Sightseeing 记录最短路和次短路的条数

    Sightseeing Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 9247   Accepted: 3242 Descr ...

  10. bzoj 3212 Pku3468 A Simple Problem with Integers 线段树基本操作

    Pku3468 A Simple Problem with Integers Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 2173  Solved:  ...