‘’‘封装’’’
class Student:
def init(self,name,gander,age):
self.name=name
self.gander=gander
self.age=age #年龄不希望在外部使用,所以加了两个_ _
def show(self):
print(self.name,self.gander,self.__age)
add=Student(‘小红’,‘女’,18)
add.show()#输出:小红 女 18
## ‘’‘在类的外部使用加了_ _的属性’’'
print(add.name)#输出:小红
print(add.gander)#输出:女
#print(add.__age)#报错
## ‘’‘在外部使用的方法’’'
print(dir(add))#使用dir()后发现有个’_Student__age’,可进行调用
#输出:[’_Student__age’, ‘class’, ‘delattr’, ‘dict’,‘dir’,
#‘doc’, ‘eq’, ‘format’, ‘ge’, ‘getattribute’,‘gt’,
#‘hash’, ‘init’, ‘init_subclass’, ‘le’, ‘lt’, ‘module’,
#‘ne’, ‘new’, ‘reduce’, ‘reduce_ex’, ‘repr’, ‘setattr’,
#‘sizeof’, ‘str’, ‘subclasshook’, ‘weakref’, ‘gander’, ‘name’, ‘show’]
print(add._Student__age)
#输出:18–在类的外部可以通过_Student__age访问