Python|Python基础知识必备:最强字符——下划线,你的编程小帮手
文章图片
文章图片
刚开始学Python的时候会发现 , Python里会出现各种各样的下划线 “_” , 而且位置都不相同 , 有时候在名称后面 , 有时候在前面 , 有时候还会在数字中间......这些下划线都分别代表了什么意思?
这里我们将介绍的五种不同情况:
一.单下划线(_)单下划线通常在3种情况下使用:
1.在解析程序中
按照习惯 , 有时候单个独立下划线是用作一个名字 , 来表示某个变量是临时的或无关紧要的 。
_名称指向交互式解释器会话中 , 最后执行的语句结果 。 这首先是由标准CPython解释器完成的 , 其他解析器也紧随其后 。
在下面的代码示例中 , 我将汽车元组拆分为单独的变量 , 但我只对颜色和里程值感兴趣 。但是 , 为了使拆分表达式成功运行 , 我需要将包含在元组中的所有值分配给变量 。在这种情况下 , “_”作为占位符变量可以派上用场:
>>> car = ('red' 'auto' 12 3812.4)
>>> color _ _ mileage = car
>>> color
'red'
>>> mileage
3812.4
>>> _
12
2.作为名称
这与上一点有些关联 , _ 用作一次性的名称 。 这为了让阅读代码的人知道 , 这里分配了某个名称 , 但是不打算使用 。 例如 , 在下面的循环中 , 我们不需要访问正在运行的索引 , 我们可以使用“_”来表示它只是一个临时值:
>>> for _ in range(32):
...print('Hello World.')
3.i18n
我们可以看到 _ 还可以用作函数 。 在这种情况下 , 它通常用于执行国际化和本地化字符串转换查找的函数的名称 。 这似乎源于并遵循 C 语言的相关规则 。 如在Django文档中所见:
from django.http import HttpResponse
from django.utils.translation import gettext as _
def my_view(request):
output = _(\"Welcome to my site.\")
return HttpResponse(output)
在任何还将 _ 用作 i18n 查找和翻译的代码块中 , 都应避免使用 _ 作为一次性使用的名称 。
二.名称前加单下划线(例如_total)名称前的单个下划线用于指定程序员将名称视为“私有” 。 这可以视为一种约定 , 下划线前缀的含义是告知其他程序员:以单个下划线开头的变量或方法仅供内部使用 。。正如Python文档所述:
带有下划线的名称(例如 _spam)应被视为 API 的非公开部分(无论是函数、方法还是数据成员) 。 它应被视为实现细节 , 如有更改 , 恕不另行通知 。*之所以说是一种约定 , 是因为它实际上对解析程序而言有着某种意义;如果我们从 <module / package> import * , 除非以模块/软件包的 __all__ 列表明确包含它们 , 否则不会导入以 _开头的名称 。 看看下面的例子:
class Test:
def __init__(self):
self.foo = 11
self._bar = 23
三. 名称后的单下划线(例如 total_)一个变量的最合适的名称已经被一个关键字所占用 , 可以附加一个下划线来解决命名冲突:例如 , 如果你想命名某种格式 , 为了避免掩盖 Python 的内置格式 , 你可以将其命名为format_ 。
>>> def make_object(name class):
SyntaxError: \"invalid syntax\"
- 第2天 | 12天搞定Python,运行环境(详细步骤)
- Java基础知识回顾,还记得吗?
- Python高级技巧:用一行代码减少一半内存占用
- 手把手教你用python编程写一款自己的音乐下载器
- Python爬虫入门第一课:如何解析网页
- 刷爆全网的动态条形图,只需5行Python代码就能实现
- 让你的输出变得更帅,Python炫酷的颜色输出与进度条打印
- 斐波那契数列:python实现和可视化
- Python 3.9 正式发布!一图秒懂新特性
- 云主机必备的10个开源安全工具