python的init中的self问题

classPerson:def__init__(self,name):self.name=name学习python时候看到这个,一直不太理解这个self.name是什么意... class Person:
def __init__(self, name):
self.name = name
学习python时候看到这个,一直不太理解这个self.name是什么意思? 是一个方法么? 后面的是name参数

那意思就是把name参数值赋给self.name 现在想知道这个self.name具体是什么
展开
 我来答
nbyh2012
2013-08-03 · TA获得超过3278个赞
知道小有建树答主
回答量:483
采纳率:100%
帮助的人:792万
展开全部
__init__()是类的构造函数,在建立对象时调用。self是对“对象”自身的引用。相当于c++中的this。

python规定:访问类成员时,需要在前面加上this。这里,this.name = name表示为Person类添加了属性name。

如果变量前不加this,则视为局部变量。这个变量会在方法运行结束后失效。而属性在整个类的范围内都是有效的。

望采纳,谢谢支持!
追问
意思是    self.name是一个类的属性对么
其实我在书上看的时候 他只提到一句 ‘ 创建完上面的类后

就可以使用self.name这个域了 ’
我一直被这句话困扰着 不知道这个域是个什么意思
追答
域?不要纠结这些词眼。这个词我也没听说过。

self.name 是类的属性。

我上面的回答不小心写错了,不小心把self写成了this。
好好学习der
2013-08-03 · TA获得超过3908个赞
知道小有建树答主
回答量:1816
采纳率:0%
帮助的人:1268万
展开全部
class中 def __init__()不是必须的,可以有也可以没有。

但是如果设置了def __init__()那么在后面的定义中就必须要使用self

def __init__():也叫着初始化函数。
self.name = name
self.age = age
可以理解为初始化定义了2个变量。
在后面的def里面调用的时候必须要使用self.name和self.age 而不能使用name 或者age

python简明教程里面的例子其实说的很清楚的
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
kanchi240
2013-08-03 · TA获得超过363个赞
知道小有建树答主
回答量:151
采纳率:100%
帮助的人:111万
展开全部
self表示当前对象,类的属性、方法都是和对象绑定,所以在使用时,需要添加self前缀,从而告诉Python,操作当前对象的XXX属性或XXX方法
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式