Discuss / Python / 关于一个下划线

关于一个下划线

Topic source

落汐21

#1 Created at ... [Delete] [Delete and Lock User]

_height和_width前面加的一个下划线都是定义一个保护变量,告诉别人只能在这个类里面用,外部最好不要调用,而没有下划线的是函数名,@property和@xxx。setter正好是把函数变成了属性,所以在外部调用时用s.xxx=xxx这样就相当于直接调用了函数,而不是调用函数里面的保护变量,就相当于之前我们熟悉的s.name=xxx和s.age=xx这样的形式。而如果把保护变量前面的下划线去掉就跟函数名冲突,每次调用属性,也就是函数,就会进入该函数,然后一直调用这个函数,就形成死循环

Andy奥迪

#2 Created at ... [Delete] [Delete and Lock User]

解释的很棒!


  • 1

Reply