Python中__init__和self的意义和作用 - CSDN博客
文章推薦指數: 80 %
以学生类为例,通过定义一个特殊的__init__方法,在创建实例的时候,就把name,score等属性绑上去:class Student(object):def __init__(self, name, ...
Python中__init__和self的意义和作用
_best
于 2018-02-2611:41:34 发布
32075
收藏
71
分类专栏:
Python
文章标签:
__init__
self
版权声明:本文为博主原创文章,遵循CC4.0BY-SA版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/github_40122084/article/details/79375369
版权
Python
专栏收录该内容
15篇文章
1订阅
订阅专栏
由于类可以起到模板的作用,因此,可以在创建实例的时候,把一些我们认为必须绑定的属性强制填写进去。
以学生类为例,通过定义一个特殊的__init__方法,在创建实例的时候,就把name,score等属性绑上去:
classStudent(object):
def__init__(self,name,score):
self.name=name
self.score=score
注意:特殊方法“__init__”前后分别有两个下划线!!!
注意到__init__方法的第一个参数永远是self,表示创建的实例本身,因此,在__init__方法内部,就可以把各种属性绑定到self,因为self就指向创建的实例本身。
有了__init__方法,在创建实例的时候,就不能传入空的参数了,必须传入与__init__方法匹配的参数,但self不需要传,Python解释器自己会把实例变量传进去:
>>>bart=Student('BartSimpson',59)
>>>bart.name
'BartSimpson'
>>>bart.score
59
和普通的函数相比,在类中定义的函数只有一点不同,就是第一个参数永远是实例变量self,并且,调用时,不用传递该参数。
除此之外,类的方法和普通函数没有什么区别,所以,你仍然可以用默认参数、可变参数、关键字参数和命名关键字参数。
整理来源:廖雪峰的官方网站
_best
关注
关注
46
点赞
踩
71
收藏
打赏
5
评论
Python中__init__和self的意义和作用
由于类可以起到模板的作用,因此,可以在创建实例的时候,把一些我们认为必须绑定的属性强制填写进去。
以学生类为例,通过定义一个特殊的__init__方法,在创建实例的时候,就把name,score等属性绑上去:classStudent(object):def__init__(self,name,score):self.name=nameself.score=...
复制链接
扫一扫
专栏目录
python笔记——__init__方法与self详解
阿斯达克
06-03
1万+
前后都加双下划綫的方法在python中是独一无二的,加下划线的目的在于避免与普通方法名称冲突。
本文中主要深入理解在定义类的时候必须用到的__init__方法。
在进行详细叙述之前,给大家普及一下,类中的方法和属性。
方法:也就是各类中定义的函数,比如我们定义一个车的类,描述车的函数就是一个方法。
属性:车的品牌、型号、生产日期等信息就是它的属性
1、__init__方法:无需直接调用,生成实...
评论 5
您还未登录,请先
登录
后发表或查看评论
详细解读Python中的__init__()方法
01-20
__init__()方法意义重大的原因有两个。
第一个原因是在对象生命周期中初始化是最重要的一步;每个对象必须正确初始化后才能正常工作。
第二个原因是__init__()参数值可以有多种形式。
因为有很多种方式为__init__()提供参数值,对于对象创建有大量的用例,我们可以看看其中的几个。
我们想尽可能的弄清楚,因此我们需要定义一个初始化来正确的描述问题区域。
在我们接触__init__()方法之前,无论如何,我们都需要粗略、简单地看看在Python中隐含的object类的层次结构。
在这一章,我们看看不同形式的简单对象的初始化(例如:打牌)。
在这之后,我们还可以看看更复杂的对象,就像包含集合的
python中def_init_是什么意思_python中init什么意思
weixin_39573598的博客
11-20
406
关于__init__()函数,其本身是python的构造方法。
这个函数类似init()初始化方法,来初始化新创建对象的状态,在一个对象被创建以后会立即调用。
1、首先说一下,带有两个下划线开头的函数是声明该属性为私有,不能在类地外部被使用或直接访问。
2、init函数(方法)支持带参数的类的初始化,也可为声明该类的属性。
3、init函数(方法)的第一个参数必须是self(self为习惯用法,也可以用...
python中self和__init__的含义+为何要有self和__init__
u014036251的博客
11-02
141
Python中的self
在Python中的类Class的代码中,常看到函数中的第一个参数,都是self。
以及Class中的函数里面,访问对应的变量(读取或者写入),以及调用对应的函数时,都是self.valueName、self.function()的形式。
下面就来解释一下self的含义:
Python中self的含义,self,英文单词意思很明显,表示自己,本身。
此处有几种潜在含义:
1.这里的自己,指的是,实例Instance本身。
2.同时,由于说到“自己”这个词,都是和相对而言的“其他”而
Python中__init__的通俗解释
tlammon的专栏
04-11
1290
Python中__init__的通俗解释
classPerson:
def__init__(self,name,age):
self.name=name
self.age=age
class关键字后面跟类的名称就定义了一个类,类的名称可以任意,采用驼峰命名法,也即每个单词的首字母大写,如Book、Person、WildAnimal等...
python中init函数详解_Python中__init__函数以及参数self
weixin_33130645的博客
01-29
9601
Java网站链接:Java全栈工程师|以实例驱动学习|how2j.cn1)class类包含:类的属性:类中所涉及的变量类的方法:类中函数2)__init函数(方法)1、带有两个下划线开头的函数是声明该属性为私有,不能在类地外部被使用或直接访问。
2、init函数(方法)支持带参数的类的初始化,也可以为声明该类的属性3、init函数(方法)的第一个参数必须是self(self为习惯用法,也可...
Python中__init__的用法和理解
热门推荐
luzhan66的博客
09-23
10万+
在Python中定义类经常会用到__init__函数(方法),首先需要理解的是,两个下划线开头的函数是声明该属性为私有,不能在类的外部被使用或访问。
而__init__函数(方法)支持带参数类的初始化,也可为声明该类的属性(类中的变量)。
__init__函数(方法)的第一个参数必须为self,后续参数为自己定义。
从文字理解比较困难,通过下面的例子能非常容易理解这个概念:
例如我们定义一个Box...
python中__new__和__init__的区别
最新发布
weixin_40734030的博客
02-10
3023
python中__new__和__init__的区别
__new__方法和__init__方法都是python中的构造方法,其中__new__方法使用较少,__init__方法使用较多。
首先来了解下这两种方法:
1.__new__是在实例创建之前被调用的,用于创建实例,然后返回该实例对象,是个静态方法。
2.__init__是当实例对象创建完成后被调用的,用于初始化一个类实例,是个实例方法。
由上可知,__new__先被调用,__new__的返回值将传递给__init__方法的第一个参数,然后__init
python中def_init_是什么意思_Python中的__init__作用是什么
weixin_39597399的博客
11-24
1553
看到Python中有个函数名比较奇特,__init__我知道加下划线的函数会自动运行,但是不知道它存在的具体意义..Python中所有的类成员(包括数据成员)都是公共的,所有的方法都是有效的。
只有一个例外:如果你使用的数据成员名称以双下划线前缀比如__privatevar,Python的名称管理体系会有效地把它作为私有变量。
这样就有一个惯例,如果某个变量只想在类或对象中使用,就应该以单...
Python中_init_()方法与self参数
qq_45690024的博客
12-03
475
前言
初学Python面向对象时,虽然学过Java,想着已经接触过面向对象思维了,上手这节应该很快就过了,但马上就发现自己还是tooyoungtoosimple。
不过幸好在经历了一番挣扎之后,终于弄懂了这一切,接下来分享一下自己学_init_方法与self参数的心得。
Python类所包含的最重要的两个成员就是变量和方法,其中类变量属于类本色,用于定义该类本身所包含的状态和数据;而实例变量则...
python中的\__init__(self)
mym_74的博客
11-04
180
_init_(self)
_init_能够初始化新创建的对象,在一个对像被创建之后会立即调用
classBall:
def__init__(self,name):
self.name=name
defkick(self):
print("我叫%s啊啊啊"%self.name)
...
【Python】Python中__init__和self的意义和作用
bandaoyu的note
12-20
3388
由于类可以起到模板的作用,因此,可以在创建实例的时候,把一些我们认为必须绑定的属性强制填写进去。
以学生类为例,通过定义一个特殊的__init__方法,在创建实例的时候,就把name,score等属性绑上去:
classStudent(object):
def__init__(self,name,score):
self.name=name
self.score=...
python中def_init_是什么意思_Python中__init__的通俗解释是什么?
weixin_39614146的博客
11-24
4260
刚好在写Python的总结写到这块,强行答一波,本人也是Python小白:以下内容为节选:classPerson:def__init__(self,name,age):self.name=nameself.age=ageclass关键字后面跟类的名称就定义了一个类,类的名称可以任意,采用驼峰命名法,也即每个单词的首字母大写,如Book、Person、WildAnimal等这里的__...
深入理解Python中的__new__和__init__
阳光日志
09-17
1万+
理解__new__和__init__的区别
Python中两种类的定义方式
分析不同的Case
老式类中的__new__和__init__
新式类中的__new__和__init__
参考资料
本文为译文,原文链接:https://spyhce.com/blog/understanding-new-and-init
本文的目的是讨论Python中__ne...
Python包中__init__.py作用
Null的博客
01-16
1757
基本作用:当一个包被导入的时候或者当导入一个包下面的一个模块的变量的时候,__init__.py文件将首先被执行,而且是被python自动去执行,不需要手动的去执行。
一般在项目中用来做一些初始化工作。
在创建python包的过程中,IDE都会在包根目录下创建一个__init__.py文件,该Python文件默认是空的.目录结构如下:
Pycharm下的package树结构:
在Finde...
python中def_init_是什么意思_python中def__init__():的含义
weixin_39570505的博客
11-20
5327
def__init__():的含义关于__init__()函数,其本身是python的构造方法。
如果不清楚这一点,看着ta就会一脸懵逼。
这个函数类似init()初始化方法,来初始化新创建对象的状态,在一个对象被创建以后会立即调用。
1.首先说一下,带有两个下划线开头的函数是声明该属性为私有,不能在类地外部被使用或直接访问。
2.init函数(方法)支持带参数的类的初始化,也可为声明该类的属性3.i...
pythonnew和init的区别_python中_new_()与_init_()的区别
weixin_39609770的博客
12-11
2007
__new__方法的使用只有继承于object的新式类才能有__new__方法,__new__方法在创建类实例对象时由Python解释器自动调用,一般不用自己定义,Python默认调用该类的直接父类的__new__方法来构造该类的实例,如果该类的父类也没有重写__new__,那么将一直按此规矩追溯至object的__new__方法,因为object是所有新式类的基类,若需要自定义__new__方法...
一篇带你搞懂Python3中的def__init__
qq_41308489的博客
12-25
1万+
在学习python-100-days时,在面向对象编程基础的那一块,封装一个class时,突然出现def__init__的方法,刚开始时,对他的理解很模糊,为什么定义一个类需要用到def__init__。
于是翻找了一些资料,大概就是两种定义方式如下:
第一种定义方式如下:
classStudent(object):
#__init__是一个特殊方法用于在创建对象时进行初始化操作
#通过这个方法我们可以为学生对象绑定name和age两个属性
def__init__(s
python中__init__函数的理解
柳小葱的博客
05-25
4436
python中__init__函数的理解
在创建类的时候往往会用到__init__函数这一类两边带有下划线的函数往往是私有函数,只能在该类的内部使用。
init的本意就是初始化的意思,一般出现在程序创建类中的第一个函数。
例如:
其实也可以不用初始化。
比如:
这样的话,我们初始化的类中也会有一个name参数,但这个参数已经固定了赋值为“red”
如果我们运用__init__函数,则声明了一个可以动态变化的参数name例如:
结果就是"red2",当然,你也可以传递不同的参数。
“相关推荐”对你有帮助么?
非常没帮助
没帮助
一般
有帮助
非常有帮助
提交
©️2022CSDN
皮肤主题:编程工作室
设计师:CSDN官方博客
返回首页
_best
CSDN认证博客专家
CSDN认证企业博客
码龄5年
暂无认证
32
原创
10万+
周排名
5万+
总排名
9万+
访问
等级
779
积分
12
粉丝
57
获赞
6
评论
113
收藏
私信
关注
热门文章
Python中__init__和self的意义和作用
32065
Pyhton注释(单行、多行注释符号使用方法及规范)
22598
pyCharm常用快捷键及常用设置(自动保存,字体大小、样式,主题)
6986
css设置图片不显示的原因总结
5396
elementui中批量禁用表单元素不可编辑
3952
分类专栏
前端
12篇
Git
1篇
Java
6篇
Python
15篇
数据库
1篇
最新评论
Python中__init__和self的意义和作用
牛遇山:
你的博客啥也没看见哦
elementui中批量禁用表单元素不可编辑
黎慧民:
[code=html]
[/code][code=objc]
[/code]
Python中__init__和self的意义和作用
mmyouto:
第一段name和score少个分号
Python中__init__和self的意义和作用
BLUEBURN11:
写的不错哦,欢迎回访我的博客哦
Python中__init__和self的意义和作用
长安菜鸟:
谢谢
您愿意向朋友推荐“博客详情页”吗?
强烈不推荐
不推荐
一般般
推荐
强烈推荐
提交
最新文章
如何修复React中的内存泄漏
JavaScript实现基本的复制文字功能函数
图片下方出现多3px的原因及解决方法
2022年3篇
2021年10篇
2019年2篇
2018年1篇
2017年19篇
目录
目录
分类专栏
前端
12篇
Git
1篇
Java
6篇
Python
15篇
数据库
1篇
目录
评论 5
被折叠的 条评论
为什么被折叠?
到【灌水乐园】发言
查看更多评论
打赏作者
_best
你的鼓励将是我创作的最大动力
¥2
¥4
¥6
¥10
¥20
输入1-500的整数
余额支付
(余额:--)
扫码支付
扫码支付:¥2
获取中
扫码支付
您的余额不足,请更换扫码支付或充值
打赏作者
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额
0
抵扣说明:
1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。
余额充值
延伸文章資訊
- 1What is difference between self and __init__ methods ...
"__init__" is a reseved method in python classes. It is called as a constructor in object oriente...
- 2Understanding self and __init__ method in python Class.
"__init__" is a reseved method in python classes. It is known as a constructor in object oriented...
- 3What do __init__ and self do in Python? - Stack Overflow
Here __init__ acts as a constructor for the class and when an object is instantiated, this functi...
- 4【Python基礎】什麼是self?什麼是__init__?:看完文章馬上會用
class Cat: def __init__(self): self.color = 'Red' self.legs = 'Long' def run(self): print('Cat is...
- 5Python中__init__和self的意义和作用 - CSDN博客
以学生类为例,通过定义一个特殊的__init__方法,在创建实例的时候,就把name,score等属性绑上去:class Student(object):def __init__(self, n...