Python中的下划线:解密这个神秘符号

单个下划线开头表示这是一个非公共方法或属性:我们为`_private_var`和`_private_method()`添加了前置单一下划线。
  • 本文目录导读:
  • 1、什么是Python中的下划线?
  • 2、单独使用下划线
  • 3、前置和后置单一下划线
  • 4、双前置/后缀下划线


什么是Python中的下划线?

在Python编程语言中,下划线(_)是一个常见而又神秘的符号。它有多种用途,包括作为变量名、函数参数和类属性等。但许多初学者对于它到底代表什么意思感到困惑。

单独使用下划线

在Python中,单独使用一个下划线表示“我不关心这个变量的值”。比如说:

```

_, b = 1, 2

print(b) # 输出2

上面代码中,我们把第一个元素赋值给了`_`变量,在后续代码执行过程中没有用到该变量。通常情况下我们会将其命名为无用或占位符。

同时,在交互式环境(REPL)里面,最近一次计算结果可以通过 `_ ` 访问:

>>> a = 10 + 20

>>> _

30

```

当然也可以定义成普通的变量名:

last_result = _

print(last_result)

前置和后置单一下划线

以单个前置或后置下滑杆开头/结尾时,则指示该名称具有特殊含义。

- _xxx: 单个下划线开头表示这是一个非公共方法或属性。

- xxx_: 单个下滑杆结尾表明它与Python关键字有所区别。

在编写类时,前置单一下划线的名称通常用于指示该方法或属性是“私有”的。例如:

class MyClass:

def __init__(self):

self._private_var = 42

def _private_method(self):

return 'Hello, world!'

上面代码中,我们为`_private_var`和`_private_method()`添加了前置单一下划线。这并没有真正地使它们成为私有成员变量和函数,但是建议不要从外部访问这些变量。

双前置/后缀下划线

以两个前置或后缀符号开头/结尾的名称具有特殊含义。如果你想定义一个名字与Python保留关键字相同的变量(例如 `lambda`, `class`, `yield`),则可以使用双拖鞋来避免冲突。

此外,在类定义中还可以使用以下形式:

- \_\_xxx:双前导下滑杆会导致Python解释器重写属性名称,以避免子类意外覆盖父类中包含的属性。

- xxx\_\_: 双后缀符号被称为“魔术”方法(magic methods),因为它们提供了实现对象的特殊行为的机会。

例如,我们可以使用双前置下划线来避免变量名与Python关键字冲突:

self.__lambda = 42

obj = MyClass()

print(obj._MyClass__lambda) # 输出42

上面代码中,我们在`__init__()`方法中定义了一个名为`__lambda`的实例变量。但是由于双前缀下划线,该变量被重命名为`_MyClass_lambda`, 我们通过这个新名称访问它。


尽管看起来有些神秘和复杂,但Python中的下划线其实很简单易懂。只需要理解每种用法背后的含义,并根据需要灵活运用即可。

希望本文能够对你更深入地了解这个常见符号有所帮助!

新闻名称:Python中的下划线:解密这个神秘符号
标题路径:http://www.csdahua.cn/qtweb/news38/423988.html

网站建设、网络推广公司-快上网,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 快上网