python构造函数_Python构造函数
构造函数是一种特殊类型的方法(函数),它在类的实例化对象时被调用。 构造函数通常用于初始化(赋值)给实例变量。 构造函数还验证有足够的资源来使对象执行任何启动任务。
创建一个构造函数
构造函数是以双下划线(__)开头的类函数。构造函数的名称是__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构造函数相关推荐
- python中的构造函数_python构造函数init实例方法解析
这篇文章主要介绍了python构造函数init实例方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 一.创建对象,我们需要定义构造函数__in ...
- python中的构造函数_python构造函数是什么?
1.说明 (1)在对象进行实例化的时候,系统自动调用的一个函数叫构造函数,通常此函数用来对实例化对象进行初始化: (2)构造函数一定要有,如果没有,则自动向上查找,按照MRO顺序,直到找到为止. 2. ...
- python init构造函数_python构造函数init实例方法解析
这篇文章主要介绍了python构造函数init实例方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 一.创建对象,我们需要定义构造函数__in ...
- python 类构造函数_Python构造函数创建类对象
python 类构造函数 In the last tutorial, we learned how to create a class, its instance and how to access ...
- python系统提供构造函数传入参数_python类变量与构造函数的使用
类变量:可在类的所有实例之间共享的变量 实例类对象:类的实例是调用类对象来创建的.如:par = Parent(),par就是类Parent的一个实例类对象. 实例变量(成员变量):同一个类对象可以创 ...
- python请简述构造函数和析构函数的作用_python构造函数和析构函数
一.构造函数 1.定义 构造函数__ init __称为class的构造函数与构造方法,一般作为实例化设置初始值而存在的.即一般是为了初始化对象时将必须要用到的属性.方法做一些定义,而存在. 2.作用 ...
- python中的构造函数和构造函数和析构函数的作用
构造函数和构造函数和析构函数都属于python中的特殊方法 其中的"__del__"就是一个析构函数了,当使用del 删除对象时,会调用他本身的析构函数,另外当对象在某个作用域中调 ...
- Python中的构造函数
Python中的构造函数是__init__函数.在Python中,子类如果定义了构造函数,而没有调用父类的,那么Python不会自动调用,也就是说父类的构造函数不会执行. 比如有test.py的mod ...
- 简述Python中的构造函数和析构函数
概述: Python中,构造函数(constructor)和析构函数(destructor)同为类中默认存在的无初始内容函数(可写入内容),且都在会在对对象执行操作时调用. 不同的是构造函数在创建对象 ...
最新文章
- .Net下的 ORM框架介紹
- Spring3 MVC
- 上海11月份计算机方面的会议,计算机类 | 10月截稿会议信息6条
- LoadRunner界面分析(二)
- jps显示当前所有java进程pid
- ubuntu14.04下安装cudnn5.1.3,opencv3.0,编译caffe及配置matlab和python接口过程记录
- mui-scroll-wrapper mui-scroll 内容增多不出滚动条
- 【VB.Net】泛型IIF
- php foreach 多出一个_PHP如何实现统计数据合并
- 动易 转 html5,动易dedecms数据转成dedecms的php程序
- ImageJ(Fiji)安装
- java 动态性之反射机制 详解 案例,一起来聊聊Synchronized底层实现原理
- 恶意代码检测理论(静态与动态分析基础)
- android 动态表情包,搞笑斗图动态表情包
- linux图片裁剪工具,linux中如何使用终端裁剪图片?
- 货运与物流的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
- SQL(Oracle) 日期转换为英文年月格式
- 随着数字化转型加速,Entrust Datacard更名为“Entrust”
- 给文字上加中划线_小小招式让你给文字添加上划线
- lua游戏代码_在游戏中如何使用LUA脚本语言
热门文章
- UI设计师样机模型|超酷折叠屏UI设计指南
- 移动端引导页UI设计临摹模板,ui设计师进阶必备
- java 弹窗选择_如何在java中点击button弹出一个选择框
- Python学习心路历程
- 【转】Linux内核报文收发
- java线程池读文件_多线程读取Java文件
- tm图像融合编程matlab,遥感习题
- webapi 路由限制命名控件_什么是命名数据网络NDN?
- 6 频率_6年了 AMD二代推土机CPU频率再次冲击8.2GHz
- jq追加元素最前面_DNF:哈林史诗百鬼夜行最理想的首饰搭配,海博伦应选贤者之欲...