classbook:__author=''__name=''__page=0price=0__press=0def__check(self,item):ifitem=='':return0else:return1defshow(self):ifself.__check(self.__author):print(self.__author)else:print('No Value')ifself.__check(self.__name):print(self.__name)else:print('No Value')defsetname(self,name):self.__name=namedef__init__(self,author,name):self.__author=authorself.__name=nameclassstudent(book):__class=''__grade=''__sname=''defshowinfo(self):self.show()b=student('John','A Great Book')b.showinfo()# John# A Great Book
如果在定义类的时候,试图使用父类的私有属性或者私有方法将会导致错误,如下:
1
2
3
4
5
6
7
8
9
10
11
12
classstudent(book):defshowall(self):ifself.__check(self.__name):print(self.__name)else:print('No Value')c=student('John','A Great Book')# c.showall()# 会遇到如下错误:# AttributeError: student instance has no attribute '_student__check'