构造函数是一种特殊类型的方法(函数),它在类的实例化对象时被调用。 构造函数通常用于初始化(赋值)给实例变量。 构造函数还验证有足够的资源来使对象执行任何启动任务。

创建一个构造函数

构造函数是以双下划线(__)开头的类函数。构造函数的名称是__init__()。

创建对象时,如果需要,构造函数可以接受参数。当创建没有构造函数的类时,Python会自动创建一个不执行任何操作的默认构造函数。

每个类必须有一个构造函数,即使它只依赖于默认构造函数。

举一个例子:

创建一个名为ComplexNumber的类,它有两个函数__init__()函数来初始化变量,并且有一个getData()方法用来显示数字。

看这个例子:

#!/usr/bin/python3

#coding=utf-8

class ComplexNumber:

def __init__(self, r = 0, i = 0):

""""初始化方法"""

self.real = r

self.imag = i

def getData(self):

print("{0}+{1}j".format(self.real, self.imag))

if __name__ == '__main__':

c = ComplexNumber(5, 6)

c.getData()

执行上面代码,得到以下结果 -

5+6j

可以为对象创建一个新属性,并在定义值时进行读取。但是不能为已创建的对象创建属性。

看这个例子:

#!/usr/bin/python3

#coding=utf-8

class ComplexNumber:

def __init__(self, r = 0, i = 0):

""""初始化方法"""

self.real = r

self.imag = i

def getData(self):

print("{0}+{1}j".format(self.real, self.imag))

if __name__ == '__main__':

c = ComplexNumber(5, 6)

c.getData()

c2 = ComplexNumber(10, 20)

# 试着赋值给一个未定义的属性

c2.attr = 120

print("c2 = > ", c2.attr)

print("c.attr => ", c.attr)

执行上面代码,得到以下结果 -

5+6j

c2 = > 120

Traceback (most recent call last):

File "D:\test.py", line 23, in

print("c.attr => ", c.attr)

AttributeError: 'ComplexNumber' object has no attribute 'attr'

¥ 我要打赏

纠错/补充

收藏

加QQ群啦,易百教程官方技术学习群

注意:建议每个人选自己的技术方向加群,同一个QQ最多限加 3 个群。

python构造函数_Python构造函数相关推荐

  1. python中的构造函数_python构造函数init实例方法解析

    这篇文章主要介绍了python构造函数init实例方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 一.创建对象,我们需要定义构造函数__in ...

  2. python中的构造函数_python构造函数是什么?

    1.说明 (1)在对象进行实例化的时候,系统自动调用的一个函数叫构造函数,通常此函数用来对实例化对象进行初始化: (2)构造函数一定要有,如果没有,则自动向上查找,按照MRO顺序,直到找到为止. 2. ...

  3. python init构造函数_python构造函数init实例方法解析

    这篇文章主要介绍了python构造函数init实例方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 一.创建对象,我们需要定义构造函数__in ...

  4. python 类构造函数_Python构造函数创建类对象

    python 类构造函数 In the last tutorial, we learned how to create a class, its instance and how to access ...

  5. python系统提供构造函数传入参数_python类变量与构造函数的使用

    类变量:可在类的所有实例之间共享的变量 实例类对象:类的实例是调用类对象来创建的.如:par = Parent(),par就是类Parent的一个实例类对象. 实例变量(成员变量):同一个类对象可以创 ...

  6. python请简述构造函数和析构函数的作用_python构造函数和析构函数

    一.构造函数 1.定义 构造函数__ init __称为class的构造函数与构造方法,一般作为实例化设置初始值而存在的.即一般是为了初始化对象时将必须要用到的属性.方法做一些定义,而存在. 2.作用 ...

  7. python中的构造函数和构造函数和析构函数的作用

    构造函数和构造函数和析构函数都属于python中的特殊方法 其中的"__del__"就是一个析构函数了,当使用del 删除对象时,会调用他本身的析构函数,另外当对象在某个作用域中调 ...

  8. Python中的构造函数

    Python中的构造函数是__init__函数.在Python中,子类如果定义了构造函数,而没有调用父类的,那么Python不会自动调用,也就是说父类的构造函数不会执行. 比如有test.py的mod ...

  9. 简述Python中的构造函数和析构函数

    概述: Python中,构造函数(constructor)和析构函数(destructor)同为类中默认存在的无初始内容函数(可写入内容),且都在会在对对象执行操作时调用. 不同的是构造函数在创建对象 ...

最新文章

  1. .Net下的 ORM框架介紹
  2. Spring3 MVC
  3. 上海11月份计算机方面的会议,计算机类 | 10月截稿会议信息6条
  4. LoadRunner界面分析(二)
  5. jps显示当前所有java进程pid
  6. ubuntu14.04下安装cudnn5.1.3,opencv3.0,编译caffe及配置matlab和python接口过程记录
  7. mui-scroll-wrapper mui-scroll 内容增多不出滚动条
  8. 【VB.Net】泛型IIF
  9. php foreach 多出一个_PHP如何实现统计数据合并
  10. 动易 转 html5,动易dedecms数据转成dedecms的php程序
  11. ImageJ(Fiji)安装
  12. java 动态性之反射机制 详解 案例,一起来聊聊Synchronized底层实现原理
  13. 恶意代码检测理论(静态与动态分析基础)
  14. android 动态表情包,搞笑斗图动态表情包
  15. linux图片裁剪工具,linux中如何使用终端裁剪图片?
  16. 货运与物流的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
  17. SQL(Oracle) 日期转换为英文年月格式
  18. 随着数字化转型加速,Entrust Datacard更名为“Entrust”
  19. 给文字上加中划线_小小招式让你给文字添加上划线
  20. lua游戏代码_在游戏中如何使用LUA脚本语言

热门文章

  1. UI设计师样机模型|超酷折叠屏UI设计指南
  2. 移动端引导页UI设计临摹模板,ui设计师进阶必备
  3. java 弹窗选择_如何在java中点击button弹出一个选择框
  4. Python学习心路历程
  5. 【转】Linux内核报文收发
  6. java线程池读文件_多线程读取Java文件
  7. tm图像融合编程matlab,遥感习题
  8. webapi 路由限制命名控件_什么是命名数据网络NDN?
  9. 6 频率_6年了 AMD二代推土机CPU频率再次冲击8.2GHz
  10. jq追加元素最前面_DNF:哈林史诗百鬼夜行最理想的首饰搭配,海博伦应选贤者之欲...