课程
/后端开发
/Python
/python进阶
假如这里的get_grade()方法带参数呢,不是直接返回‘A’,应该怎么构造?
2017-12-12
源自:python进阶 4-9
正在回答
class Person(object): def __init__(self, name, score): self.name = name self.score = score self.get_grade = lambda self: 'A' if self.score >= 90 else 'B' p1 = Person('Bob', 70) print(p1.get_grade) print(p1.get_grade(p1))
地大新手 提问者
Sir_Y
这里的get_grade()是函数,是因为lambda算是匿名函数
如果传参可以这样写self.get_grade = lambda x : x
写set_grade更合适
但是这样写毫无意义。
class Person(object):
#这样也行
def __init__(self, name, score):
self.name = name
self.score = score
self.get_grade = lambda : 'A' if self.score >= 90 else 'B'
p1 = Person('Bob', 70)
print(p1.get_grade)
print(p1.get_grade())
举报
学习函数式、模块和面向对象编程,掌握Python高级程序设计