Python中self用法详解

简单来说,self就是表示创建的类实例本身 (而非类),相当于JavaBean里的this

Python创建实例

通过类名+()实现:

1
student = Student()
1
2
3
4
class Student(object):
def __init__(self, name, score):
self.name = name
self.score = score
1
2
3
4
5
>>>student = Student("Hugh", 99)
>>>student.name
"Hugh"
>>>student.score
99

Python中各种下划线(__xxx__xxx___xxx

__name: 如果要让内部属性不被外部访问,可以把属性的名称前加上两个下划线__,在Python中,实例的变量名如果以开头,就变成了一个私有变量(private),只有内部可以访问,外部不能访问,如下的 self.(两个下划线)name:

1
2
3
4
5
6
7
class Student(object):

def __init__(self, name, score):
self.__name = name
self.__score = score
def print_score(self):
print "%s: %s" %(self.__name,self.__score)

__xxx__: 特殊变量,特殊变量是可以直接访问的,不是private变量

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


参考链接:https://blog.csdn.net/CLHugh/article/details/75000104