语法错误:“ + =”是意外令牌

皮克先生5

第一次使用Python,无法使add和Assign运算符正常工作。口译员一直说SyntaxError: invalid syntax有谁知道如何解决这一问题?

def addRead(self, i=1):
    if(i<1):
        return self.getNumPages += i

也试图无济于事。

def addRead(self, i=1):
    if(i<1):
        return 
    self.getNumPages += i
glglgl

当您收到的消息getNumPages是一种方法时,最直观的方法是调用它以获取结果。

但这与您正在做的事情矛盾:

如果它是数据属性,则+=可以使用。但是您不能将某些东西重新分配给方法调用的结果。

因此,根据您要尝试执行的操作,可以执行以下操作之一:

numpages = self.getNumPages() # first step: get the result
numpages += i # get the new value
# or just: numpages = self.getNumPages() + i
self.setNumPages(numpages) # set the new value would be the equivalent of the += stuff.
return numpages

如果您不想重新分配值,则只需执行

return self.getNumPages() + i

但是请注意,Python中的getter和setter方法非常不寻常。您可以直接使用属性,也可以将它们包装在属性中,这本质上是一种“内置的getter / setter”东西。

class Whatever:
    def getNumPages(self):
        return self._numpages
    def setNumPages(self, newone)
        self._numpages = newone
    # now the property stuff:
    @property
    def numpages(self): # the getter
        return self.getNumPages()
    @numpages.setter
    def numpages(self, newone)
        self.setNumPages(newone)

此属性(本质上是无用的,仅当设置或获取被认为具有副作用或也要修改/计算其他内容时才使用)使我们能够执行

self.numpages += i
return self.numpages

这可能是您想要的。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

语法错误:意外令牌{

来自分类Dev

语法错误:意外的令牌

来自分类Dev

语法错误:意外的令牌

来自分类Dev

语法错误:意外的令牌

来自分类Dev

语法错误:意外的令牌 }

来自分类Dev

语法错误:意外的令牌

来自分类Dev

语法错误:意外的令牌 }

来自分类Dev

错误:语法错误:令牌','是意外令牌

来自分类Dev

错误:语法错误:令牌','是意外的令牌

来自分类Dev

错误:语法错误:意外的令牌<

来自分类Dev

sh:意外令牌'}'附近的语法错误

来自分类Dev

意外令牌'('附近的语法错误

来自分类Dev

awk:意外令牌'('附近的语法错误

来自分类Dev

bash:意外令牌'('附近的语法错误

来自分类Dev

意外令牌`('附近的Bash语法错误

来自分类Dev

MongoDB语法错误意外令牌

来自分类Dev

意外令牌附近的Cron语法错误

来自分类Dev

意外令牌'fi'附近的语法错误

来自分类Dev

语法错误:意外的令牌其他

来自分类Dev

语法错误:意外的令牌n

来自分类Dev

-bash:意外令牌附近的语法错误

来自分类Dev

语法错误:意外令牌:MongoDB

来自分类Dev

语法错误:意外的令牌<(小于)

来自分类Dev

意外令牌'<'附近的语法错误

来自分类Dev

意外令牌'='()附近的语法错误

来自分类Dev

isJoi = true; 语法错误:意外令牌=

来自分类Dev

意外令牌'newline'附近的语法错误?

来自分类Dev

意外令牌'('附近的语法错误

来自分类Dev

意外令牌'('附近的语法错误