Python中单下划线与双下划线变量前缀有何不同?

2026-05-24 17:540阅读0评论SEO基础
  • 内容介绍
  • 相关推荐

本文共计1130个文字,预计阅读时间需要5分钟。

Python中单下划线与双下划线变量前缀有何不同?

Python中变量前加单下划线和双下划线的区别:

1.单下划线前缀:在py文件中,变量名前加单下划线是一种约定,表示这个变量是私有的,但不一定被隐藏。这种约定可以用来指示变量属于类或模块的内部实现,建议不要从类或模块外部访问。

2.双下划线前缀:双下划线前缀用于定义Python的私有变量。这些变量在类内部可以通过名称改写(name mangling)来隐藏,从而在类的外部不可见。这种约定是Python中实现封装的一种方式。

python中变量前面加单下划线和双下划线的区别&python的私有属性

一、在py文件中

变量名字前面加单下划线和双下划线都是对变量的保护,一种约定,用来指定变量私有。

程序员用来指定私有变量的一种方式.不能用from module import * 导入。

在变量所属.py文件中可以正常调用。

num = 1
_num = 10
__num = 100

if __name__ == '__main__':
print(num)
print(_num)
print(__num)

# 结果:
1
10
100

二、在类里面:

1、单下划线开头的变量:

变量前的单下划线表示表面上私有 ;

但是其实这样的实例变量外部是可以访问的,但是,按照约定俗成的规定,当你看到这样的变量时,意思就是,“虽然我可以被访问,但是,请把我视为私有变量,不要随意访问”。

阅读全文

本文共计1130个文字,预计阅读时间需要5分钟。

Python中单下划线与双下划线变量前缀有何不同?

Python中变量前加单下划线和双下划线的区别:

1.单下划线前缀:在py文件中,变量名前加单下划线是一种约定,表示这个变量是私有的,但不一定被隐藏。这种约定可以用来指示变量属于类或模块的内部实现,建议不要从类或模块外部访问。

2.双下划线前缀:双下划线前缀用于定义Python的私有变量。这些变量在类内部可以通过名称改写(name mangling)来隐藏,从而在类的外部不可见。这种约定是Python中实现封装的一种方式。

python中变量前面加单下划线和双下划线的区别&python的私有属性

一、在py文件中

变量名字前面加单下划线和双下划线都是对变量的保护,一种约定,用来指定变量私有。

程序员用来指定私有变量的一种方式.不能用from module import * 导入。

在变量所属.py文件中可以正常调用。

num = 1
_num = 10
__num = 100

if __name__ == '__main__':
print(num)
print(_num)
print(__num)

# 结果:
1
10
100

二、在类里面:

1、单下划线开头的变量:

变量前的单下划线表示表面上私有 ;

但是其实这样的实例变量外部是可以访问的,但是,按照约定俗成的规定,当你看到这样的变量时,意思就是,“虽然我可以被访问,但是,请把我视为私有变量,不要随意访问”。

阅读全文