用于定义__builtin__的python用法 - 但为什么呢?

qne*_*ill 4 python

我偶然发现了这条蟒蛇:

__builtin__.__dict__['N_'] = lambda x: x
class X:
    doc = N_('some doc for class X')
Run Code Online (Sandbox Code Playgroud)

我从概念上知道这是做什么的,但我不知道为什么?更准确地说,该代码与此之间的区别是什么:

class X:
    doc = 'some doc for class X'
Run Code Online (Sandbox Code Playgroud)

Tho*_*s K 5

在我看来,N_需要定义函数(它可能应该查找翻译),所以他在流程开始时为该流程中发生的任何其他事情创建它.

我假设另一段代码,也许是非英语本地化的代码,可以用N_查找相应翻译字符串的代码替换该函数.

  • 请参阅http://git.gnome.org/browse/jhbuild/commit/jhbuild/main.py?id=cd2acb790e44b39209a8d1ba895e335b372b3524,其中引入了该函数,提交消息明确指出它是用于gettext(转换)支持. (2认同)