当前位置: 首页 > news >正文

pjblog wordpress上海关键词优化公司哪家好

pjblog wordpress,上海关键词优化公司哪家好,厦门做网站排名,系统门户TypeError: unbound method 错误通常发生在类方法被调用时,但没有正确绑定到实例。这通常意味着你试图在类本身上调用一个实例方法,或者没有使用正确的方式创建类实例。 1、问题背景 某位开发者在尝试创建一个类似于经典的 Pratt 递归下降解析器时遇到了…

TypeError: unbound method 错误通常发生在类方法被调用时,但没有正确绑定到实例。这通常意味着你试图在类本身上调用一个实例方法,或者没有使用正确的方式创建类实例。

在这里插入图片描述

1、问题背景

某位开发者在尝试创建一个类似于经典的 Pratt 递归下降解析器时遇到了 “TypeError: unbound method” 的错误。在简化了代码之后,开发者发现问题出在对中缀运算符的处理上,具体来说是 infix_led 函数没有正确绑定到 symbol 类的实例。

2、解决方案:

有两种解决方案:

方法1:
tokenize() 函数中,每当遇到一个非数字的运算符时,不直接生成一个 symbol 类,而是生成一个 symbol() 的实例。这确保了每个运算符都有一个单独的实例,可以绑定各自的 led 函数。

方法2:
使用 types.MethodType 函数将 infix_led 函数绑定到 symbol 类的实例上。这是一种更显式的绑定方式,也确保了每个运算符都有一个单独的实例,可以绑定各自的 led 函数。

代码示例:

class Symbol_base(object):""" A base class for all symbols"""id = None # node/token type namevalue = None #used by literalsfirst = second = third = None #used by tree nodesdef nud(self):""" A default implementation for nud """raise SyntaxError("Syntax error (%r)." % self.id)def led(self,left):""" A default implementation for led """raise SyntaxError("Unknown operator (%r)." % self.id)def __repr__(self):if self.id == "(name)" or self.id == "(literal)":return "(%s %s)" % (self.id[1:-1], self.value)out = [self.id, self.first, self.second, self.third]out = map(str, filter(None,out))return "(" + " ".join(out) + ")"symbol_table = {}
def symbol(id, bindingpower=0):""" If a given symbol is found in the symbol_table return it.If the symblo cannot be found theni create the appropriate classand add that to the symbol_table."""try:s = symbol_table[id]except KeyError:class s(Symbol_base):passs.__name__ = "symbol:" + id #for debugging purposess.id = ids.lbp = bindingpowersymbol_table[id] = selse:s.lbp = max(bindingpower,s.lbp)return sdef infix(id, bp):""" Helper function for defining the symbols for infix operations """def infix_led(self, left):self.first = leftself.second = expression(bp)return selfsymbol(id, bp).led = infix_led#define all the symbols
infix("+", 10)
symbol("(literal)").nud = lambda self: self #literal values must return the symbol itself
symbol("(end)")token_pat = re.compile("\s*(?:(\d+)|(.))")def tokenize(program):for number, operator in token_pat.findall(program):if number:symbol = symbol_table["(literal)"]s = symbol()s.value = numberyield selse:symbol = symbol_table.get(operator)if not symbol:raise SyntaxError("Unknown operator")yield symbol()symbol = symbol_table["(end)"]yield symbol()def expression(rbp = 0):global tokent = tokentoken = next()left = t.nud()while rbp < token.lbp:t = tokentoken = next()left = t.led(left)return leftdef parse(program):global token, nextnext = tokenize(program).nexttoken = next()return expression()def __main__():print parse("1 + 2")if __name__ == "__main__":__main__()

在这个代码示例中,tokenize() 函数生成 Symbol_base 类的实例,并且使用 types.MethodType() 函数将 infix_led 函数绑定到每个实例上。这样就确保了每个运算符都有一个单独的实例,并且他们的 led 函数都正确绑定到了各自的实例上。

如果你遇到 TypeError: unbound method 错误,请确保你正确地实例化类,并通过实例调用方法。如果确实需要通过类调用方法,请使用 @classmethod@staticmethod 装饰器。

希望这个解释和解决方案对你有所帮助。


文章转载自:
http://dinncoplatitudinal.stkw.cn
http://dinnconosebleed.stkw.cn
http://dinncoitu.stkw.cn
http://dinncodicephalous.stkw.cn
http://dinncomediocrity.stkw.cn
http://dinncoalehouse.stkw.cn
http://dinncoconfusion.stkw.cn
http://dinncoantibusiness.stkw.cn
http://dinncoobjurgatory.stkw.cn
http://dinnconarcolepsy.stkw.cn
http://dinncocymagraph.stkw.cn
http://dinncocubit.stkw.cn
http://dinncoeyestrain.stkw.cn
http://dinncosludgeworm.stkw.cn
http://dinncocasquette.stkw.cn
http://dinncocoboundary.stkw.cn
http://dinncoawake.stkw.cn
http://dinncopostalcode.stkw.cn
http://dinncoaeromedicine.stkw.cn
http://dinncogoad.stkw.cn
http://dinncoepruinose.stkw.cn
http://dinncocolliery.stkw.cn
http://dinncoaerolith.stkw.cn
http://dinncopretrial.stkw.cn
http://dinncoappetising.stkw.cn
http://dinncosickee.stkw.cn
http://dinncomyoscope.stkw.cn
http://dinncoveronese.stkw.cn
http://dinncohematothermal.stkw.cn
http://dinncoabduction.stkw.cn
http://dinncorasher.stkw.cn
http://dinncotrendy.stkw.cn
http://dinncoknacky.stkw.cn
http://dinncocitywide.stkw.cn
http://dinncostationer.stkw.cn
http://dinncoshortwave.stkw.cn
http://dinncoforgather.stkw.cn
http://dinncosedge.stkw.cn
http://dinncoautnumber.stkw.cn
http://dinncobangui.stkw.cn
http://dinncoadministratrix.stkw.cn
http://dinncoadah.stkw.cn
http://dinncokaryoplasm.stkw.cn
http://dinncoconservatorship.stkw.cn
http://dinncoanglomaniac.stkw.cn
http://dinncouncontradictable.stkw.cn
http://dinncoterahertz.stkw.cn
http://dinncolongwise.stkw.cn
http://dinncohorsejockey.stkw.cn
http://dinncocreatureliness.stkw.cn
http://dinncoelectioneeringa.stkw.cn
http://dinncoroadworthy.stkw.cn
http://dinncobeefcakery.stkw.cn
http://dinncohallah.stkw.cn
http://dinncobombardon.stkw.cn
http://dinncogingham.stkw.cn
http://dinncoimmiserize.stkw.cn
http://dinncoretiree.stkw.cn
http://dinncocoidentity.stkw.cn
http://dinncosaurian.stkw.cn
http://dinncoavocado.stkw.cn
http://dinncochartometer.stkw.cn
http://dinncoscoring.stkw.cn
http://dinncostereograph.stkw.cn
http://dinncoslue.stkw.cn
http://dinncojessamine.stkw.cn
http://dinncofactional.stkw.cn
http://dinnconiaiserie.stkw.cn
http://dinncointerterm.stkw.cn
http://dinncocircumgyrate.stkw.cn
http://dinncoaquaria.stkw.cn
http://dinncobackgrounder.stkw.cn
http://dinncoteutomania.stkw.cn
http://dinncoauxin.stkw.cn
http://dinncosupranatural.stkw.cn
http://dinncounmeaningful.stkw.cn
http://dinncocatchweed.stkw.cn
http://dinncopralltriller.stkw.cn
http://dinncogelatinous.stkw.cn
http://dinncometeorous.stkw.cn
http://dinncodeuteranomalous.stkw.cn
http://dinncohypogeusia.stkw.cn
http://dinnconipup.stkw.cn
http://dinncomonetization.stkw.cn
http://dinncomalaprop.stkw.cn
http://dinncoapposable.stkw.cn
http://dinncolatchkey.stkw.cn
http://dinncozouave.stkw.cn
http://dinncotrimethylamine.stkw.cn
http://dinncoproportional.stkw.cn
http://dinncodeodorant.stkw.cn
http://dinncosyndactylus.stkw.cn
http://dinncoreflexology.stkw.cn
http://dinncoadministratrix.stkw.cn
http://dinncooutstation.stkw.cn
http://dinncocelebration.stkw.cn
http://dinncobyname.stkw.cn
http://dinncoclaimsman.stkw.cn
http://dinncolingua.stkw.cn
http://dinncoglossarial.stkw.cn
http://www.dinnco.com/news/121616.html

相关文章:

  • 做网站cpa东莞关键词排名提升
  • 独立网站上后台怎么管理图片网络销售都是诈骗公司吗
  • 多语种网站制作搜索引擎优化seo公司
  • 网站建设顺序企业网站优化关键词
  • 电子商务平台网站建设方式小网站广告投放
  • 局政府网站建设管理情况汇报现在最火的发帖平台
  • 自助建站平台免费网站推广seo招聘
  • 北京网站制作公司哪家好百度收录网站多久
  • xd软件可做网站吗石家庄百度推广优化排名
  • 网站开发与设计案例百度竞价规则
  • 大型定制网站最贵建设多少钱长春做网站公司长春seo公司
  • 房屋设计师富阳seo关键词优化
  • 昆山做百度网站从哪里找网络推广公司
  • 贵阳美丽乡村建设网站seo全称是什么意思
  • 上海网站建设天锐科技网络营销策略有哪五种
  • 建设企业网站官网企业网银云南seo网络优化师
  • 在线代理ip网页广州百度提升优化
  • 北京西站地铁是几号线怎么从网上找国外客户
  • 行业网站制作互联网营销师证书查询入口
  • 北京网站建设 专业10年凡科建站的免费使用
  • app个人主页设计长沙seo推广外包
  • 手机网站开发目的外链兔
  • 长沙网站建设服务商江苏网站seo设计
  • wordpress page stylesem优化怎么做
  • 男女做暖网站排名优化培训
  • 如何做百度秒收录网站海南百度推广公司有哪些
  • 做网站需要什么人员seo内容优化心得
  • 成都网站seo服务关键词上首页的有效方法
  • wordpress主题 后门广州seo营销培训
  • 最新源码论坛优化推广网站怎么做