注意1,__init__并不相当于C#中的构造函数,执行它的时候,实例已构造出来了。

class A(object):

def __init__(self,name):

self.name=name

def getName(self):

return 'A' +self.name

当我们执行

a=A("hello")

时,可以理解为:

a=object.__new__(A)

A.__init__(a,'Hello')

即__init__作用是初始化已实例化后的对象。

注意2、子类可以不重写__init__,实例化子类时,会自动调用超类中已定义的__init__

class B(A):

def getName(self):

return 'B'+self.name

if __name__=="__main__":

b=B('hello')

print b.getName()

但如果重写了__init__,实例化子类时,则不会隐式的再去调用超类中已定义的__init__

class C(A):

def __init__(self):

pass

def getName(self):

return 'C'+self.name

if __name__=='__main__':

c=C()

print c.getName()

则会报"AttributeError: 'C' object has no attribute 'name'”错误,所以如果重写了__init__,为了能使用或扩展超类中的行为,最好显式的调用超类的__init__方法

class C(A):

def __init__(self,name):

super(C,self).__init__(name)

def getName(self):

return 'C '+self.name

if __name__=='__main__':

c=C('hello')

print c.getName()

转自:http://www.cnblogs.com/zyxstar2003/archive/2011/03/21/1989954.html

python里面的之前打过的记忆信息-python 中 __init__方法相关推荐

  1. python里面的之前打过的记忆信息-python中的记忆:如何缓存函数的运行结果(1)

    Python部落(python.freelycode.com)组织翻译,禁止转载,欢迎转发. 使用称为"memoization"的强大而方便的缓存技术来加速您的Python程序. ...

  2. python里面的之前打过的记忆信息-Python关键语句备忘录,拯救你的记忆

    今天要介绍的 Python 3 Cheat Sheet 由法国国家科学研究中心(CNRS)的法国机械工程与信息技术实验室(LIMSI)的工程师 Laurent Pointal 总结.这个简单的 Che ...

  3. python里面的之前打过的记忆信息-python中的if __name__ == 'main'

    当你打开一个.py文件时,经常会在代码的最下面看到if __name__ == '__main__':,现在就来介 绍一下它的作用: 对于编程语言来说,程序都必须要有一个入口,比如java和c#必须要 ...

  4. python文件读取输出-python分批定量读取文件内容,输出到不同文件中的方法

    一.文件内容的分发 应用场景:分批读取共有358086行内容的txt文件,每取1000条输出到一个文件当中 # coding=utf-8 # 分批读取共有358086行内容的txt文件,每取1000条 ...

  5. Python中__init__方法有什么作用

    Python中__init__方法有什么作用 当使用类名()的方法去创建对象的时候 python解释器会自动调用__init__方法 因此可以在__init__方法中做一些初始化的设定 在每次创建新对 ...

  6. python日历小程序_一个查看网络设备信息Python小程序

    原标题:一个查看网络设备信息Python小程序 网络编程中,最常见的一个问题就是,获取设备信息. 首先我们,要学习如何获取本机的网络信息.我们将用到标准库中的socket库.假如说,我们要查看本机的 ...

  7. python中__init__方法_关于python中__init__方法理解

    在理解__init__方法之前,我们需要搞明白,什么时候才需要用到的这个方法 什么是__init__? __init__方法在python中是类的初始化,通俗来讲,就是每次只要你去创建一个类的实例对象 ...

  8. python里面的之前打过的记忆信息-忘了Python关键语句?这份备忘录拯救你的记忆...

    Python 3 Cheat Sheet 一共包含两页,分成了多个框图,涉及基本的 Python 数据结构.数学运算.条件和循环语句.文件读写,以及异常值处理等.在每个框图中,右上角是类型名称,蓝色和 ...

  9. python 网络设备管理软件_一个查看网络设备信息Python小程序

    socket.gethostbyaddr(ip_address) 功能介绍 为了便于说明他们的功能,我们首先从Document中参考相关的说明 gethostname # gethostname签名 ...

最新文章

  1. 【广告技术】如何科学地划分用户群体?在聚类中考虑用户特征和社会关系
  2. Fortran 入门——函数调用
  3. laravel 分页
  4. python数据库实例_Python操作MySQL数据库9个实用实例
  5. 使用 OpenCL.Net 进行 C# GPU 并行编程
  6. 印度软件开发人员_我如何辍学并在19岁时在印度找到了一份开发人员的工作
  7. SharePoint JavaScript API in application pages
  8. 2019 fall CS224w:01-intro
  9. 为什么C#有委托,而Java没有?
  10. Android的gradle提示Could not resolve com.android.support:support-v4:26+.
  11. python-自制单词本导入有道词典
  12. Linux 克隆虚拟机引起的“Device eth0 does not seem to be present, delaying initialization”
  13. 测试技术总监需要具备哪些能力
  14. Android程序员二本出身、逆袭网易、一路孤独,idea开发工具
  15. 全云端万能小程序_百搜全云端万能门店小程序v4.0.13五端独家2次开发升级独立版...
  16. 【语篇标记练习题】What are we doing?
  17. socket---TCP通信
  18. 华硕uefi不识别linux安装u盘启动,华硕主板uefi bios u盘启动不了怎么办?
  19. 七星配资有机硅、碳交易爆发
  20. ppk和pem文件互转

热门文章

  1. 《高效程序员的45个习惯》-之三
  2. 为 UITextField 增加键盘偏移的模板化写法
  3. Maven笔记(2)-- 常用命令和标准的Maven项目结构
  4. ASP.NET 缓存与SQL Server结合使用
  5. c# 对Url 解码编码
  6. python之SSH远程登录
  7. OpenStack 通用设计思路
  8. FTP Active Passive
  9. duilib拖动控制功能的实现(源代码)
  10. centos 添加用户