当前位置: 首页 > 面试题库 >

Python,括号前的下划线是做什么的

沈成天
2023-03-14
问题内容

通过身份验证表单中的一些Django代码,我注意到以下语法

label=_("Username")

通常,我只会在字符串周围使用一对引号。有人可以替我解释一下“用户名”下划线和括号是做什么的吗?


问题答案:

_是一个可调用(函数的名称,可调用对象)。通常用于该gettext函数,例如在Django中:

 from django.utils.translation import ugettext as _
 print _("Hello!")  # Will print Hello! if the current language is English
                    # "Bonjour !" in French
                    # ¡Holà! in Spanish, etc.

正如文档所说:

Python的标准库gettext模块_()作为的别名安装到全局名称空间中gettext()。在Django中,出于以下两个原因,我们选择不遵循此做法:

[…]

下划线字符(_)用于表示Python的交互式shell和doctest测试中的“先前的结果”。安装全局_()功能会造成干扰。显式导入ugettext()as_()可以避免此问题。

即使是约定,您的代码中也 可能不是这样 。但请放心,99.9%的时间_gettext:)的别名



 类似资料:
  • 问题内容: 可以解释一下在Python中使用对象名称前加下划线的含义吗?另外,说明单首和双首下划线之间的区别。无论所讨论的对象是变量,函数,方法等,该含义是否保持不变? 问题答案: 单下划线 类中带有下划线的名称仅是为了向其他程序员表明该属性或方法旨在私有。但是,名称本身并没有做任何特别的事情。 引用PEP-8: :“内部使用”指标较弱。例如,不导入名称以下划线开头的对象。 双下划线(名称改写)

  • 问题内容: 而且我似乎无法理解这种变量声明: 究竟在做什么,为什么他们这样声明变量而不是 (我发现它是Go by Example:Maps的一部分) 问题答案: 它避免了必须为返回值声明所有变量。 它称为 空白标识符 。 如: (另一个’ ‘用例用于导入) 由于它丢弃了返回值,因此在您只想检查返回的值之一时很有用,例如“ EffectureGo,map ”中所示的“如何测试映射中键的存在? 要在地

  • 本文向大家介绍python中单下划线和双下划线分别是什么?相关面试题,主要包含被问及python中单下划线和双下划线分别是什么?时的应答技巧和注意事项,需要的朋友参考一下 name:一种约定,python内部的名字,是用来与用户自动以的名字区分开,防止冲突

  • 问题内容: 我正在做一个redux教程,并且看到这样的呼叫: 在其他地方定义为: 下划线是什么“ _”?为什么使用它? 问题答案: 这是私有方法和变量的约定。在JavaScript中,没有类的真正隐私。 这意味着您不应在对象之外使用这些方法(以“ ” 开头)。从技术上当然可以,但是“ ”表示您不应该这样做。

  • 我发现 _A 是可以访问的但是 __B 是无法访问的会报错:Unexpect System Error:'A' object has no attribute .... 不是说下划线只是约定而已么,怎么其实还是有实际作用的

  • 我正在学习基本的PHP,试图阅读JOOMLA核心文件并对其有一些基本的了解,但我遇到了很多运算符,如“:”等,我不懂。 我在谷歌做了一些研究,有很多关于双冒号(::)的解释,但在“::”上几乎什么都没有,包含这个操作符的文件之一是joomla site root/mod_login/tmpl/default。php,行是 那么这意味着什么呢?是“JRoute::(('index.php',true