网站首页 > 文章中心 > 其它

init函数python_python中init函数的用法

作者:小编 更新时间:2023-10-22 11:35:39 浏览量:144人看过

python为什么要有一个init函数 知乎

__init__()是为了做初始化用的

我们初始化得时候不一定要使用__init__()进行初始化,可以直接定义

比如

class?test(self):

而__init__()的好处在于它可以接收参数并初始化

__init__(self,testa):

test_a = testa

这样类就可以初始化话一个动态的变量,更加灵活

Python构造函数

类是对象的模板,是抽象的.

构造函数 init 是Python魔术方法之一,如图魔术方法

我们通过类模版去创建类的实例对象,然后再调用类定义的功能.

那实例对象的属性是通过什么来初始化的?

这时候Python引入来构造函数 init

构造函数,会在创建实例对象之后Python会自动执行此方法,把初始化的属性特点放到实例对象里.

通过前面的学习,我们知道一个python对象包含三个部分:id(识别码),type(对象类型),value(对象的值)

那么我们进一步深入对象包含的三部分:

我们通过类创建实例对象后,需要定义构造函数 init ()方法.

构造方法用于执行实例对象的初始化工作,即对象创建之后,初始化当前对象的相关的属性,无返回值

构造函数重点 :

我们通过栗子来学习构造函数的过程

构造函数初始化实例对象过程如下:

①Animal类会通过默认的 new ()方法为实例对象在堆内存中为开辟一个空间

敲黑板,重点来啦~

拓展:

我们今天学习了构造函数 init (),其在创建对象之后被Python自动调用初始化实例对象属性数据值,无返回值,并且构造函数不能被显示调用.

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

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

好啦,好了,全部的本期内容,欢迎大佬评论区指正~

python中的__init__(self)是什么意思呢

Python中,__init__()方法是所谓的对象的"构造函数",负责在对象初始化时进行一系列的构建操作

假设有如下类:

class?worker:

pass

在Python中,对某个类实例进行成员赋值,可以创建不存在的成员:

a=worker()

a.name='Bob'

如果对于每一个worker类的实例对象,都要进行如此赋值的话,这个类会变得很难使用

另外,对于用于特殊场合的类,可能要求在对象创建时,进行连接数据库、连接FTP服务器、进行API验证等操作,这些初始化操作,都可以封装在__init__()方法中进行

__init__方法使用如下规则定义:

class?ex:

def?__init__(self):

__init__方法必须接受至少一个参数即self,Python中,self是指向该对象本身的一个引用,通过在类的内部使用self变量,类中的方法可以访问自己的成员变量,简单来说,self.varname的意义为"访问该对象的varname属性"

当然,__init__()中可以封装任意的程序逻辑,这是允许的,__init__()方法还接受任意多个其他参数,允许在初始化时提供一些数据,例如,对于刚刚的worker类,可以这样写:

def?__init__(self,name,pay):

self.name=name

self.pay=pay

这样,在创建worker类的对象时,必须提供name和pay两个参数:

Python会自动调用worker.__init__()方法,并传递参数.

通常情况下,self形参由Python自动赋值,但是,在类继承中,并不是这样

例如,Python的HTML处理工具HTMLParser,是一个基于OOP模型的工具,要使用该工具,必须编写一个类,继承html.parser.HTMLParser类,并重载一系列方法,以定制自己的功能

from?html.parser.HTMLParser

HTMLParser.__init__(self)

此处,需要调用了HTMLParser类的__init__方法,而且,此处手动给HTMLParser.__init__()方法的self形参赋值,事实上,如果不显式指定self形参的值,Python不会在此处自动为HTMLParser.__init__()方法的self形参进行赋值

如此设计的原因是,在子类中需要获得超类的成员和方法,而通过在子类的__init__方法中调用超类的__init__方法,并手动给它传递指向子类的self值,可以使超类的__init__方法将所初始化的变量设置成子类的变量,这样,就可以在子类中直接访问超类的变量了.

python中的__init__()是什么意思呢

python中的__init__()时类的初始化函数,比如:

class?Obj:

def?__init__():

print?1

obj?=?Obj()?#这时候调用__init__这个方法

如果解决了您的问题请采纳!

如果未解决请继续追问

python init函数

问:对于python中的初始化init这个怎么理解啊?

答:相当于类的构造函数,用来初始化变量等.

问: param = self._args['receiving'].replace("\\'", "'")这一句是啥意思啊?还有addReceiving(self)中self到底是什么啊?

答:在对class进行调用的过程中,会首先执行__init__这个构造函数,可以看到在构造函数中,对_args进行了赋值,在python中"_"一般代表这个参数是private的.

问:我的理解是args是LogisticsService类的一个属性,addReceiving(self)方法中的参数self就是LogisticsService类中的args.求大神指导!!

答:大神来了,args是一个字典类型,是LogisticsService的在init初始化的一个字段.

大神做到底,再给你个示例,你琢磨一下

Python中"__init__"的意义是什么?

Python中"__init__"的意义是在类实例创建的时候自动会被执行的.这里只是自己重定义了__init__的行为.

如果一个函数在内部不调用其它的函数,而是自己本身的话,这个函数就是递归函数.递归函数的作用.

根据下面的阶乘来看下规律,通过规律进行程序的编写,可以达到事半功倍的效果;

看阶乘的规律.

根据上一步骤,得到递归函数的通用表达式.

用lambda关键词能创建小型匿名函数.这种函数得名于省略了用def声明函数的标准步骤.

以上就是土嘎嘎小编大虾米为大家整理的相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!

版权声明:倡导尊重与保护知识产权。未经许可,任何人不得复制、转载、或以其他方式使用本站《原创》内容,违者将追究其法律责任。本站文章内容,部分图片来源于网络,如有侵权,请联系我们修改或者删除处理。

编辑推荐

热门文章