下划线(_)在Python中的作用

下划线(_)在Python中的作用

在本文中,我们将讨论单下划线(_)和双下划线(__)的作用。

当用户在Python中编写代码时,有时会使用单下划线(_),有时会使用双下划线(__)。

以下是用户使用下划线的一些情况:

  • 如果用户想要在解释器中存储最后一个表达式的值。
  • 如果用户想要在代码中声明变量或函数。
  • 如果用户想要将数字的每个位数分开。
  • 忽略某些值。
  • 下划线也用作“本地化(l10n)”和“国际化(i18n)”函数。

让我们看一些这些情况的示例。

在解释器中使用

Python解释器将把最后一个表达式的值存储在“_”中。

示例:

print(47)
47
print(_)
47
print(_ + 13)
60
print(_)
60
print(_ - 10)
50

忽略值的情况下,我们将使用下划线 (_)。

示例:

A, B, C, D, _, E, F, G = (10, 20, 30, 40, 50, 60, 70, 80)

这里,

    A = 10
    B = 20
    C = 30
    D = 40
    E = 60
    F = 70
    G = 80

对50的值使用下划线(_)进行忽略。

使用下划线(_)声明变量和函数

Python语言不支持私有变量或函数,因此用户无法强制将某些内容作为私有变量和函数,但可以直接从其他模块调用它们。

示例:

using_single_underscore_

用户可以使用下划线(_)以避免与Python关键字和内置函数冲突。

示例:

__double_leading_underscore

以上的双下划线(__)用于避免名称之间的属性名称冲突。

如果用户在类中编写函数名称 “__display“,名称将被修改为 _ClassName__display 形式。

示例:

__double_leading_and_trailing_underscore__

在某些情况下,用户将此表单用作 __init__

用于分离数字的数值

下划线 (_) 可以用于分离数字的数值

示例:

decoder_base = 5_000_000
print (decoder_base)

输出:

5000000

作为本地化(l10n)和国际化(i18n)功能

这只是一个原则,而不是任何句法功能。下划线(_)用于将i18n / l10n与带有下划线的变量绑定在一起。它的概念来自于C的惯例。

Python变量前缀下划线的意思是什么

类中具有前导下划线(_)的名称用于向其他用户指示该属性或函数在程序中是私有的。

建议用户对于半私有变量使用单个下划线(_),对于完全私有变量使用双下划线(__)。

在下面的示例中,我们将展示单个下划线(_)和双下划线(__)前缀之间的区别。

示例:

class UserClass():
     def __init__(self):
             self.__fully_private = "JavaTpoint"
             self.__fully_private = "to"
             self._semi_private = "Hello"
             self._semi_private = "Say"
mc = UserClass()
print(mc._semi_private)
print(mc.__fully_private)

输出:

---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-10-4f3b78146b9f> in <module>
      7 mc = UserClass()
      8 print(mc._semi_private)
----> 9 print(mc.__fully_private)

AttributeError: 'UserClass' object has no attribute '__fully_private'

在上述代码中,用户尝试访问完全私有变量,并且输出时会得到错误消息,该消息显示 UserClass 没有名为’__fully_private’的属性。

结论

在本文中,我们讨论了在python中使用单下划线(_)和双下划线(__)的用法,并提供了不同的示例。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程