第一关:类的内建函数
代码:
import specialmethodtest
sc = specialmethodtest.subClass()
# 请在下面填入判断subClass是否为parentClass的子类的代码,并输出结果
########## Begin ##########
print(issubclass(specialmethodtest.subClass,specialmethodtest.parentClass))
########## End ##########
# 请在下面填入判断sc是否为subClass实例的代码,并输出结果
########## Begin ##########
print(isinstance(sc, specialmethodtest.subClass))
########## End ##########
# 请在下面填入判断实例sc是否包含一个属性为name的代码,并输出结果
########## Begin ##########
print(hasattr(sc, 'name'))
########## End ##########
# 请在下面填入将sc的属性name的值设置为subclass的代码
########## Begin ##########
setattr(sc, 'name', 'subclass')
########## End ##########
# 请在下面填入获取sc的属性name的值的代码,并输出结果
########## Begin ##########
print(getattr(sc, 'name'))
########## End ##########
# 请在下面填入调用subClass的父类的tell()方法的代码
########## Begin ##########
specialmethodtest.parentClass.tell(sc)
########## End ##########
第二关:类的私有化
代码:
import Bagtest
price = int(input())
bag = Bagtest.Bag(price)
# 请在下面填入输出Bag类中变量__price的代码
########## Begin ##########
print(bag._Bag__price)
########## End ##########
# 请在下面填入输出Bag类中变量_price的代码
########## Begin ##########
print(bag._price)
########## End ##########
第三关:授权
代码:
class WrapClass(object):
def __init__(self,obj):
self.__obj = obj
def get(self):
return self.__obj
def __repr__(self):
return 'self.__obj'
def __str__(self):
return str(self.__obj)
# 请在下面填入重写__getattr__()实现授权的代码
########## Begin ##########
thelist = []
inputlist = input()
for i in inputlist.split(','):
result = i
thelist.append(result)
########## End ##########
# 请在下面填入实例化类,并通过对象调用thelist,并输出thelist第三个元素的代码
########## Begin ##########
temp = WrapClass(thelist)
temp_list = temp.get()
print(temp_list[2])
########## End ##########
第四关:对象的销毁
代码:
import delObjecttest
# 请在下面声明类delObject的实例,并将其引用赋给其它别名,然后调用del方法将其销毁
########## Begin ##########
do1 = delObjecttest.delObject()
do2 = do1
do3 = do1
del(do1)
del(do2)
del(do3)
########## End ##########