本文是我CSDN上移植到今日头条的文章,在此声明,不是抄袭,附上CSDN链接地址
https://blog.csdn.net/jeekmary/article/details/120613031
本来而言,这个问题网上很多资料,但是网上资料都是复制来复制去,很多话大家其实都不是很明白的,或者拿着官方文档翻译过来的,让人看的非常迷糊。今天我我通俗好懂表述解释下这几种情况
1、后单下划线例如: data_其实这种就是为了防止跟系统关键字重名了,比如 Python 里是不是有个关键字 class但是我也想用 class做变量怎么办,如果不做处理肯定是不行的有冲突所以我们在后面添加 _ 变成 class_, 就可以用了。
我觉得但凡懂点编程的人都能明白这个
2、前单下划线例如: _data这种其实就是为了告诉程序员,这个为内部使用的变量,不要再外部使用,仅在内部使用,就是为了设置一个提示,但是外部还是可以用。只是告诉程序员最好不要再外部使用,如果是函数,也是同样的道理。
代码运行图片
看到没,系统不会提示出来,但是强制写上去也是可以用的
3、前双下划线例如: __data这种就更简单了,其实就是私有的变量和函数,子类不能用,一用就报错。
双前下划线
简单吧
4、前后双下划线: __data__这种类型的其实就是Python内部调用的,我们根本就不用管怎么调用,比如:
内部使用
这种就是系统内部调用的,这些函数都是在我们调用其他函数,在内部使用到了他们,比如这里 的 __init __就是一个构造函数,我们在调用 Person() 自然在内部调用到了他,再比如我们调用的 len() 内部也会调用类似的函数,我们知道就好。
5、单下划线例如: _1、这个其实也是一个变量,表示一个临时对象for _ in “hongbiao”: 这种情况就跟普通变量没有关系2、表示程序中运行的最近一个结果,我上一个图大家明白了
单下划线
欢迎读者批评指正
,