python中构建了一个类,在定义了一个函数时为什么括号第一个self有什么用,为什么不能给他赋值

比如classmuffledcalculator:muffled=Falsedefcalc(self,expr):。。。。就这些为什么赋值直接就给expr赋值了self有... 比如
class muffledcalculator:
muffled=False
def calc(self,expr):
。。。。
就这些
为什么赋值直接就给expr赋值了 self有什么用呢
怎么给self赋值
展开
 我来答
__盗亦有道
2011-12-17 · TA获得超过147个赞
知道答主
回答量:81
采纳率:0%
帮助的人:43.1万
展开全部
self 指的是你定义的这个类被调用创建了一个实例时,self就是这个实例。
可以这么说,self就是要使用你这个函数的实例的名称,这个self在类中必须要加,当然名字不一定是self,self只是传统变量名一直被沿用了而已。
lix_xu
2011-12-18 · TA获得超过1213个赞
知道小有建树答主
回答量:823
采纳率:0%
帮助的人:692万
展开全部
对象调用方法时, 实际上是通过类调用的
a = muffedcalculator()
a.calc(expr)

实际上是这样调用的 muffledcalculator.calc(a, expr)
这样self 就是 a, python隐含地把a 传进方法 替代了self, 就成了绑定的方法, 就可以执行了. 否则就是非绑定方法
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
tim_spac
2011-12-17 · TA获得超过3628个赞
知道大有可为答主
回答量:1804
采纳率:100%
帮助的人:2013万
展开全部
这是Python的类定义格式标准,self的使用与Java的this相似,用于标识类的实例。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
107011162
2011-12-17 · TA获得超过1066个赞
知道小有建树答主
回答量:803
采纳率:0%
帮助的人:537万
展开全部
加了self之后你可以在实例化后调用该函数。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式