Python中下划线在变量名和方法名中的含义

Python中下划线在变量名和方法名中的含义

Python 中有一些异于其它语言的特色,初学者特别是有过使用其它编程语言经验的初次接触可能会有些晕。如下划线( _)有哪些用处,现在聊聊这个话题。

单下划线和双下划线在Python变量名和方法名中的含义,有些仅仅是作为约定,用于提示开发人员;而另一些则对Python解释器有特殊含义。

在Python中,下划线 _ 在变量名和方法名中的使用有几种不同的情况,每种情况都有其特定的含义或约定:

  1. 单个前导下划线 _variable:
    这通常用来表示一个变量或方法是受保护的(protected),是内部使用的。按照约定,这意味着它不应该被外部直接访问。然而,这只是一个约定,并不会在Python解释器层面强制实施。

  2. 单个后置下划线 variable_:
    这通常用来避免命名冲突。Python有一些内置关键字,如果你的变量名需要和这些关键字相同,你可以在变量名后加一个下划线来避免冲突。

  3. 双前导下划线 __variable:
    这是一种名称修饰(name mangling)的方式。Python解释器对内部变量名进行变形,以避免在子类中被覆盖。变形的方式是在变量名前加上_ClassName,例如在MyClass类中,__variable会被变形为_MyClass__variable

  4. 双前导和双后置下划线 __variable__:
    这种命名方式是为了定义Python的特殊方法。它们有特定的意义,被Python解释器特殊对待。例如,__init__是类的构造器,__str__是当对象被转换为字符串时调用的方法等。

  5. 单个下划线 _:
    在交互式环境中,单个下划线通常用来表示最后表达式的结果。此外,它也被用作临时或不重要的变量名(例如,在循环中,当循环变量的值不重要时)。在国际化(i18n)和本地化(l10n)中,单个下划线通常用作翻译函数的别名。

这些约定并不是强制性的࿰

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

学习&实践爱好者

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值