Discuss / Python / 越来越难了。。。

越来越难了。。。

Topic source

#请把下面的Student对象的gender字段对外隐藏起来,用get_gender()和set_gender()代替,并检查参数有效性:

# -*- coding: utf-8 -*-

class Student(object):

    def __init__(self, name, gender):

        self.name = name

        self.__gender = gender

    def get_gender(self):

        if (self.__gender == 'male' or self.__gender == 'female'):#检查self.__gender输入的正确性

            return self.__gender

        else:

            raise ValueError('Gender should be \'male\' or \'female\'')

    def set_gender(self,gender):

        if (gender == 'male' or gender == 'female'):#检查gender输入的正确性

            self.__gender=gender

        else:

            raise ValueError('Gender should be \'male\' or \'female\'')

# 测试:

bart = Student('Bart', 'male')

if bart.get_gender() != 'male':

    print('测试失败!')

else:

    bart.set_gender('female')

    if bart.get_gender() != 'female':

        print('测试失败!')

    else:

        print('测试成功!')


  • 1

Reply