Python 3.0的哪些功能会改变您的日常编码?

Jam*_*Orr 17 python python-3.x

Py3k 刚刚出来,有很多新东西!我很好奇,最让人兴奋的是什么?哪些功能会影响您每天编写代码的方式,或者您一直期待?

小智 16

有一些我很感兴趣的事情:

  • 不知道功能注释.非常酷. (2认同)

Raf*_*ird 7

我希望异常链接能够抓住.由于下面介绍的反模式而丢失异常堆栈跟踪一直是我的烦恼:

try:
   doSomething( someObject)
except:
   someCleanup()

   # Thanks for passing the error-causing object,
   # but the original stack trace is lost :-(

   raise MyError("Bad, bad object!", someObject)
Run Code Online (Sandbox Code Playgroud)

我知道,我知道,在原始异常中添加一些上下文信息保留原始堆栈跟踪是可能的,但它需要一个非常丑陋的黑客.现在你可以(而且应该!)只是:

raise MyError("Bad, bad object!", someObject) from original_exception
Run Code Online (Sandbox Code Playgroud)

并轻松获得以上两者.所以,作为我对丢失堆栈痕迹的神圣使命的一部分:

伙计们,在重新加注异常时不要忘记from子句!谢谢.


Bri*_*ian 6

坦率地说,没有一个.虽然我可能会发现自己使用了一些新的语法,但我主要使用Python来实现快速简单的脚本和正则表达式.

我认为新功能可以让很多人轻松搞好一些小东西,而且对于一些人来说很容易.但是,我对许多人最终会在生产力方面获得巨大收益的说法持怀疑态度.

简而言之,我认为这些变化会让整体事情变得更好,但不要指望任何奇迹.