`

python编程的纠结

 
阅读更多

场景:

1. 定义一个对象

class Strategy:
  """
  Attributes:
   - version
   - inteval
   - period
   - validDay
   - onNetBeg
   - circleType
  """

  thrift_spec = (
    None, # 0
    (1, TType.STRING, 'version', None, None, ), # 1
    (2, TType.STRING, 'inteval', None, None, ), # 2
    (3, TType.STRING, 'period', None, None, ), # 3
    (4, TType.STRING, 'validDay', None, None, ), # 4
    (5, TType.STRING, 'onNetBeg', None, None, ), # 5
    (6, TType.I32, 'circleType', None,     1, ), # 6
  )

  def __init__(self, version=None, inteval=None, period=None, validDay=None, onNetBeg=None, circleType=thrift_spec[6][4],):
    self.version = version
    self.inteval = inteval
    self.period = period
    self.validDay = validDay
    self.onNetBeg = onNetBeg
    self.circleType = circleType

  def read(self, iprot):
    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))
      return
    iprot.readStructBegin()
    while True:
      (fname, ftype, fid) = iprot.readFieldBegin()
      if ftype == TType.STOP:
        break
      if fid == 1:
        if ftype == TType.STRING:
          self.version = iprot.readString();
        else:
          iprot.skip(ftype)
      elif fid == 2:
        if ftype == TType.STRING:
          self.inteval = iprot.readString();
        else:
          iprot.skip(ftype)
      elif fid == 3:
        if ftype == TType.STRING:
          self.period = iprot.readString();
        else:
          iprot.skip(ftype)
      elif fid == 4:
        if ftype == TType.STRING:
          self.validDay = iprot.readString();
        else:
          iprot.skip(ftype)
      elif fid == 5:
        if ftype == TType.STRING:
          self.onNetBeg = iprot.readString();
        else:
          iprot.skip(ftype)
      elif fid == 6:
        if ftype == TType.I32:
          self.circleType = iprot.readI32();
        else:
          iprot.skip(ftype)
      else:
        iprot.skip(ftype)
      iprot.readFieldEnd()
    iprot.readStructEnd()

  def write(self, oprot):
    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:
      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))
      return
    oprot.writeStructBegin('CircleStrategy')
    if self.version is not None:
      oprot.writeFieldBegin('version', TType.STRING, 1)
      oprot.writeString(self.version)
      oprot.writeFieldEnd()
    if self.inteval is not None:
      oprot.writeFieldBegin('inteval', TType.STRING, 2)
      oprot.writeString(self.inteval)
      oprot.writeFieldEnd()
    if self.period is not None:
      oprot.writeFieldBegin('period', TType.STRING, 3)
      oprot.writeString(self.period)
      oprot.writeFieldEnd()
    if self.validDay is not None:
      oprot.writeFieldBegin('validDay', TType.STRING, 4)
      oprot.writeString(self.validDay)
      oprot.writeFieldEnd()
    if self.onNetBeg is not None:
      oprot.writeFieldBegin('onNetBeg', TType.STRING, 5)
      oprot.writeString(self.onNetBeg)
      oprot.writeFieldEnd()
    if self.circleType is not None:
      oprot.writeFieldBegin('circleType', TType.I32, 6)
      oprot.writeI32(self.circleType)
      oprot.writeFieldEnd()
    oprot.writeFieldStop()
    oprot.writeStructEnd()

  def validate(self):
    return


  def __repr__(self):
    L = ['%s=%r' % (key, value)
      for key, value in self.__dict__.iteritems()]
    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))

  def __eq__(self, other):
    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__

  def __ne__(self, other):
    return not (self == other)

 2. 当实例化对象时

strategy = Strategy()
strategy.interval = str(a.timeInterval)
   

3. 取值发现

strategy.inteval 取不到!

 

4. 纠结是

赋值的属性是strategy.interval 

原来是对象定义是属性名称写错了。

但是python语义是不会报错,只会给对象多增加一个属性!

 

5.解决办法

1.细心

2.再细心

3.还有就是带着放大镜找问题!

 

分享到:
评论

相关推荐

    计算机毕业设计:Python实现的“今天吃什么”转盘程序(源码+详细说明),保证可靠运行,附赠计算机答辩PPT模板

    该程序利用Python编程语言的简洁与高效,构建了一个趣味横生的“今天吃什么”决策工具,旨在帮助用户解决日常饮食选择的难题。 这份资源不仅包含了完整的源码,还提供了详尽的说明文档,使用户能够轻松理解程序的...

    Python基础教程.pdf

    对于初学者来说,很多原理,例如:算法&数据结构、操作系统、网络编程等,如果用c++、java之类的语言来讲解和实践,要花费很长时间、投入很大精力在语法和语句等细节上,但使用Python就可以将重点放在对算法等本身的...

    python的概要介绍与分析

    Python是一种强大且易于学习的编程语言,它在各种应用场景中都展现出了极高的灵活性和实用性。Python的语法简洁明了,使得开发者能够更专注于解决问题,而非纠结于语法的复杂性。 Python的资源丰富多样,无论是学习...

    python2和python3应该学哪个(python3.6与python3.7的选择)

    许多刚入门 Python 的朋友都在纠结的的问题是:我应该选择学习 python2 还是 python3? 对此,回答是:果断 Python3 !(推荐学习:Python视频教程) 可是,还有许多小白朋友仍然犹豫:那为什么还是有人推荐我学习 ...

    reptangles:一个简单的基于瓷砖的纠结海龟游戏,用python编写

    一个简单的基于图块的用python编写的纠结海龟游戏。 该游戏的灵感来自 ,并在某种程度上是的克隆。 我觉得这款游戏非常有趣,建议您退房。 也。 但是,这种“克隆”在受到纠缠的启发下将在几个方面有所不同: 它...

    学python最电脑配置有要求么

    python对于电脑硬件基本没什么要求,下载...买什么电脑还要根据自身的实际情况来决定,如果是学生党,建议普通的笔记本就可以,没必要花大价钱来纠结这事;如果上班族,有一定的经济基础,可以选择高端一点的产品。 内

    疯狂上涨的Python 开发者应从2.x还是3.x着手?

    纵观各大编程语言在 2017 年的发展情况,我们会发现涌现出诸如 Go、Swift 这类后起之秀,而其中最为耀眼的当属 Python。之所以 Python 如此受捧,不仅仅是人工智能、数字科学领域的兴起,而且与其自身的特性必不可分...

    Java与Python两大幸存者谁更胜一筹呢

    在学习编程语言上,相信很多人都纠结过学哪种语言更好?其实,在选择是更多的时候我们更多是需要看自己更适合。本篇文章,千锋武汉小编与大家共同讨论的编程语言,或许更多的是限于python和Java哪个好的问题之上。 ...

    py-web-tool:pyWebTool通过尝试使用任何标记语言和任何编程语言来支持Literate Programming

    pyWeb是一个基于Knuth 扫盲编程工具,将编织文档和纠结源文件的操作结合在一起。 它独立于任何特定的文档标记或源语言。 Is使用一组简单的标记标签来定义代码和文档块。 pyweb.w文件是各种pyweb模块和脚本文件的源...

    用python 制作图片转pdf工具

    最近因为想要看漫画,无奈下载的漫画是jpg的格式,网上的转换器还没一个好用的,于是乎就打算用python自己DIY一下: 这里主要用了reportlab。开始打算随便写几行,结果为若干坑纠结了挺久,于是乎就想想干脆把代码写...

    编程词典销售分析系统.doc

    本文档资料适用于java php ssm springboot Vue python nodejs 微信小程序 Android app等,写文档不要纠结于是什么语言的 非常适合大专,本科等同学们作为参考资料使用只需要把文中的内容替换成你需要的就行了哦,最少...

    算法精解:C语言描述 chm

    试问,当我们辛辛苦苦“学会”了一些算法和数据结构,但在实际编程中往往要么一写 就错(伪码毕竟只是用来表达算法思路,但具体编程时会遇到很多实现上的细节问题),要么面对问题不知如何下手解决(因为没有实际的...

    MCM资料-master.zip 美赛C题经验

    **关于编程** 有的人可能会纠结用哪种编程语言,比如用MATLAB还是Python,如果你还没学的话,我推荐学Python吧,由于有着各种第三方库的支持,Python在处理尤其是像C题这种大数据类型的题目简直有着得天独厚的...

    学习黑马c c++网络攻防培训.rar

    实话说,我培训完了才知道,为啥有人会因为编程语言吵架。那要我说,我肯定说Python好,但是我后来也自学了Java哈。大家不要问我Java好还是Python,真正工作以后就是用什么就要会什么。纠结的不如去听听两个基础班~ ...

    枚举法的matlab代码实现-newtonMethod:牛顿法求解复数域上x^4-1=0收敛域的程序usingPython

    C/C++/C#/Java等编译型语言:由于编译型语言对变量类型限制严格(在编译之前必需确定变量类型),容易让程序员花费过多精力纠结于程序实现细节而忽略问题本身的分析,为了提高效率,不采用; MALTAB:解释型语言,不...

    Building Single Page Applications using Web API and angularJS

    如果你还在纠结callback带来的}}}}}}}嵌套问题,那么推荐你阅读“异步编程”这一章,保证让你大开眼界。世界上本没有嵌套回调,写的人多了,也便有了}}}}}}}。JavaScript已经不仅仅是在浏览器上运行的玩具语言, 它...

    循环神经网络代码实现matlab-trickle-coursera-machine-learning-assignments:斯坦福大学的An

    由于Matlab太大,需要付费,Octave又没有用过,一开始就在纠结是不是直接用Python实现(当然Python都忘记了,也需要再学一遍)。 但是课程推荐用Octave,于是下载安装了4.0.3 ,自始至终也没有出过问题,所以Mac用户...

    django和flask哪个值得研究学习

    我这里并不想探讨哪个框架好哪个不好,这个永恒的话题就跟探讨“世界上哪种编程语言最屌”是一样的。 分析 面对一个项目需求,不要着急去开发,学会控制开发成本的前提是明白技术难点可能带来的额外的时间消耗。对于...

Global site tag (gtag.js) - Google Analytics