专栏名称: 老齐Py
Data Science
目录
相关文章推荐
中国人民银行  ·  李强主持召开国务院第八次全体会议 ... ·  2 天前  
中国人民银行  ·  2025年2月金融统计数据报告 ·  3 天前  
中国人民银行  ·  中国人民银行召开2025年信贷市场工作会议 ·  3 天前  
51好读  ›  专栏  ›  老齐Py

【译】初学Python语言者必须理解的下划线

老齐Py  · 掘金  ·  · 2020-03-25 03:32

正文

阅读 18

【译】初学Python语言者必须理解的下划线

作者:mingrammer

翻译:老齐

与本文相关的图书推荐:《跟老齐学Python:轻松入门》

本书各大电商平台有售


下划线( _ )在Python语言中有特殊作用。

在大多数编程语言中,下划线是命名变量或者函数名称时的连字符,但是,在Python语言中,不仅如此。如果你是一名Python程序员,对于诸如 _ in range(10) , __init__(self) 之类的下发肯定熟知。

本文将详述下划线( _ )的使用方法,帮助初学者理解它。

在Python语言中,下划线主要应用在如下5个方面:

  • 在交互模式中,保存最近一个表达式的值
  • 忽略某个值(“我不重要”)
  • 给变量或者函数名称赋予特殊含义
  • 作为国际化或本地化的函数命名
  • 在数字组成的值中作为分隔符

下面逐一阐述。

用在交互模式中

在Python交互模式总,如果调用 _ ,会显示最近的表达式的值。这个功能在标准的交互模式中都有,你也可以在其它Python交互式解析器中使用。

>>> 10 
10 
>>> _ 
10 
>>> _ * 3 
30 
>>> _ * 20 
600
复制代码

表示忽略某个值

下划线也可以用于表示要忽略某个值。如果你不需要某个值或者该值没什么用,可以用下划线作为相应的变量。

# Ignore a value when unpacking
x, _, y = (1, 2, 3) 
# x = 1, y = 3 

# Ignore the multiple values. It is called "Extended Unpacking" which is available in only Python 3.x
x, *_, y = (1, 2, 3, 4, 5) 
# x = 1, y = 5  

# Ignore the index
for _ in range(10):     
    do_something()  
    
# Ignore a value of specific location
for _, val in list_of_tuple:
    do_something()
复制代码

给变量或者函数名称赋予特殊含义

下划线,最多的用途还是在命名中,PEP8是Python开发的公约,它约定了4中命名方式。

单下划线开始

以单下划线开始的变量、函数、方法、类名称,意在声明该对象私有化,按照此预订,使用 from module import * 则无法将相应对象导入。

然而,Python并不支持真正的私有化,所以我们不能强制某对象私有化,从其他模块中也能直接调用它,有时候,我们会说这种私有化的对象是“内部使用的弱指示器”。

_internal_name = 'one_nodule' # private variable

_internal_version = '1.0' # private variable

class _Base: # private class
    _hidden_factor = 2 # private variable    
    def __init__(self, price):
        self._price = price    
    def _double_price(self): # private method






请到「今天看啥」查看全文