首页 > 其他分享 >89:构造函数__init___

89:构造函数__init___

时间:2022-11-19 15:14:34浏览次数:52  
标签:__ 对象 self init 实例 构造函数

###__init__构造方法和__new__方法

类是抽象的,也称之为“对象的模板”。我们需要通过类这个模板,创建类的实例对象,然后才能使用类定义的功能。我们前面说过一个 Python 对象包含三个部分:id(identity 识别码)、type(对象类型)、value(对象的值)。现在,我们可以更进一步的说,一个 Python 对象包含如下部分:
1. id(identity 识别码)
2. type(对象类型)
3. value(对象的值)
(1) 属性(attribute)
(2) 方法(method)

创建对象,我们需要定义构造函数__init__()方法。构造方法用于执行“实例对象的初始化工作”,即对象创建后,初始化当前对象的相关属性,无返回值。

__init__()的要点如下:
1. 名称固定,必须为:__init__()
2. 第一个参数固定,必须为:self。 self 指的就是刚刚创建好的实例对象。
3. 构造函数通常用来初始化实例对象的实例属性,如下代码就是初始化实例属性:name 和 score。

def __init__(self,name,score):
    self.name = name #实例属性
    self.score = score

4. 通过“类名(参数列表)”来调用构造函数。调用后,将创建好的对象返回给相应的变量。比如:s1 = Student('张三', 80)
5. __init__()方法:初始化创建好的对象,初始化指的是:“给实例属性赋值”
6. __new__()方法: 用于创建对象,但我们一般无需重定义该方法。
7. 如果我们不定义__init__方法,系统会提供一个默认的__init__方法。如果我们定义了带参的__init__方法,系统不创建默认的__init__方法。
注:
1. Python 中的 self 相当于 C++中的 self 指针,JAVA 和 C#中的 this 关键字。Python 中,self 必须为构造函数的第一个参数,名字可以任意修改。但一般遵守惯例,都叫做 self。

标签:__,对象,self,init,实例,构造函数
From: https://www.cnblogs.com/yuanzijian/p/16906137.html

相关文章

  • QT 如何优雅地去掉对话框的问号
    QT对话框的问号是什么?QDialog默认的windowflag中包含了Qt::WindowContextHelpButtonHint,这个flag意思是在窗口上提供"上下文帮助"按钮 使用方式为,调用v......
  • python3标准库
    本文出处 http://www.cnblogs.com/vamei   作者:Vamei序列(sequence)序列包含有定值表(tuple)和表(list)。字符串(string)是一种特殊的定值表下面的内建函数(buil......
  • 90:实例属性_内存分析
    ###实例属性和实例方法###实例属性实例属性是从属于实例对象的属性,也称为“实例变量”。他的使用有如下几个要点:1.实例属性一般在__init__()方法中通过如下代码定义:  ......
  • Django项目搭建
    新建项目django-adminstartprojectMyProject进入MyProject根目录后,新建app:MyApppythonmanage.pystartappMyApp初始化-生成sqlite数据库表pythonmanage.......
  • 27.数据清洗-缺失值和重复值处理
     #查看空值情况importpandasaspdpd.set_option("display.unicode.east_asian.width",True)df=pd.read_excel('msb课程记录.xls')print(df)print('------------......
  • 跟着文档学Fabric:获取通道配置
    原文在这里。1.获取通道配置peerchannelfetchconfigconfig_block.pb-o$ORDERER_CONTAINER-c$CH_NAME--tls--cafile$TLS_ROOT_CA上述命令需要在peer容器中......
  • Java的特性和优势
    简单的(摒弃指针、结构、枚举,提供类库)面向对象可移植性多线程(在语言级支持多线程的程序设计,就像做一张桌子)动态性安全性健壮性(内存回收机制,避免内存泄露)分布式与......
  • 取证初级案例操作大纲
    目录取证初级案例操作大纲1)证据文件中有没有存在被删除的Doc文档?如果有的话,请导出并记录文件名及路径:2)证据文件中有没有存在被删除的图片?如果有的话,请记录文件名及路径......
  • c++题目:吃西瓜
    吃西瓜【问题描述】老胡买了是长方体形的西瓜来犒劳大家....这块西瓜长m厘米,宽n厘米,高h厘米.他发现如果把这块西瓜平均地分成m*n*h块1立方厘米的小正方体,那么每一小......
  • 微信小程序自定义双击事件、三连击事件、N连击击事件
     如图:  代码:data:{clickNum:1,lastTapTime:0,}btnclick:function(e){varme=this;varcurTime=e.timeStamp//获取时间戳......