文档章节

python 面向对象构造函数和析构函数

明月知心
 明月知心
发布于 2016/11/23 23:24
字数 312
阅读 36
收藏 1

__init__(self) 初始化一个函数,构造一个实例对象

__del__ (self)删除这个对象,永远在最后执行

__call__(self) 当执行对象()时会调用该方法

class foo:
    def __init__(self):
        pass
    def __del__(self):           #永远最后执行
        print('销毁了')
    def __call__(self):
        print("call方法")
f1=foo()
f1()                #相当于执行 f1.__call__() 一般在开启服务时使用
f1.__call__()

类的继承和调用父类构造函数方法

必须出现在子类构造方法内

  • 父类.__init__(self)                      #叫做 经典类或基类
  • class 父类(object) 
    super(子类,self).__init__()          #叫做 新类 或派生类

经典类(基类)的继承

class Father:                       #经典类继承
    def __init__(self):
        print('Father的构造函数')
    def good(self):
        print('艰苦朴素')
class Son(Father):                   #继承父类和父类的构造函数
    def __init__(self):
        print('争强好胜')
        Father.__init__(self)        #继承父类的构造函数
son=Son()
son.good()                           #继承父类的函数

新类(派生类)的继承

#调用派生类的构造方法
class Father(object):                      
    def __init__(self):
        print('Father的构造函数')
class Son(Father):                   #继承父类和父类的构造函数
    def __init__(self):
        print('争强好胜')
        super(Son,self)__init__()    ##调用派生类的构造方法

 

© 著作权归作者所有

共有 人打赏支持
明月知心
粉丝 6
博文 158
码字总数 71882
作品 0
武汉
程序员
D06——C语言基础学PYTHON

C语言基础学习PYTHON——基础学习D06 20180821内容纲要:  面向对象初级学习     1 面向对象     2 类       (1)封装       (2)继承       (3)多态    ...

m1racle
08/22
0
0
Never Call Virtual Functions during Constructio...

代码 1. java class Bird { public Bird() {show();} public void show() {System.out.println("hey, I'm a bird.");}} class Eagle extends Bird {private String name = "littleEgale"; pu......

coda
2011/11/11
0
0
python 学习笔记(摘自《Python基础教程第2版》)

这里有一篇很详细的, http://www.worldhello.net/doc/python/python.mm.htm 以下是我的笔记 尽量使用 import, 而不使用 from xx import xx 每个包必须包含一个名为 init.py 的文件,以区分正常...

sailtseng
2012/06/07
0
2
zg手册 之 python2.7.7源码分析(1)-- python中的对象

源代码主要目录结构 Demo: python 的示例程序 Doc: 文档 Grammar: 用BNF的语法定义了Python的全部语法,提供给解析器使用 Include: 头文件,在用c/c++编写扩展模块时使用 Lib: Python自...

东昕
2014/07/08
0
0
12道必会的Python面试题,附详细讲解

无论是应聘Python方向的web开发,还是爬虫工程师,或是数据分析,还是自动化运维,都涉及到一些基础的知识!小编挑了一些Python的基础面试题,看看你能不能的答上来,也许面试的同学用的着!...

诸葛玥
06/16
0
0

没有更多内容

加载失败,请刷新页面

加载更多

学hadoop需要什么基础

最近一段时间一直在接触关于hadoop方面的内容,从刚接触时的一片空白,到现在也能够说清楚一些问题。这中间到底经历过什么只怕也就是只有经过的人才会体会到吧。前几天看到有个人问“学hadoo...

左手的倒影
18分钟前
1
0
LOADING Redis is loading the dataset in memory

Redis出现错误 LOADING Redis is loading the dataset in memory 原因是: redis中dump.rdb文件到达3G时,所有redis的操作都会抛出此异常。 解决方法: redis.conf中 maxmemory 调大。 另外一...

swingcoder
18分钟前
0
0
闪屏页设置

相信每个app都需要一个闪屏页 就是一个开始页面 对于新手来说 可能就直接一个activity 弄个背景图片 ,细心地同学也许会发现 每次启动 应用程序的时候 一开始显示的不是那个设置的背景图片 ...

王先森oO
23分钟前
1
0
解析Excel

import java.io.File;import java.io.FileInputStream;import java.io.IOException;import java.io.InputStream;import java.util.ArrayList;import java.util.List;import or......

开源中国封号找我
28分钟前
0
0
pandas不能在pycharm中使用plot()方法显示图像的解决方法

最近用了pycharm,感觉还不错,就是pandas中Series、DataFrame的plot()方法不显示图片就给我结束了,但是我在ipython里就能画图 以前的代码是这样的 import matplotlib.pyplot as pltfrom p...

kipeng300
32分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部