为了账号安全,请及时绑定邮箱和手机立即绑定

skill是BasketballMixin的属性吗?

class BasketballMixin(SkillMixin):
   def skill(self):
       return 'basketball'

正在回答

1 回答

是一个方法   属性在__init__(self, xxxx,xxxx,xxx)中定义

0 回复 有任何疑惑可以回复我~
#1

慕粉3367702 提问者

不是说方法也是属性吗?如果这个skill不是属性,为什么最后会有这个print s.skill(),s是实例,skill不应该是属性吗?
2016-09-08 回复 有任何疑惑可以回复我~
#2

雨还在下像在说话 回复 慕粉3367702 提问者

print s.skill()是调用了s的skill方法
2016-09-08 回复 有任何疑惑可以回复我~
#3

雨还在下像在说话 回复 慕粉3367702 提问者

并且 s.skill()已经是一个结果了 你要区分skill和skill()
2016-09-08 回复 有任何疑惑可以回复我~
#4

慕粉3367702 提问者 回复 雨还在下像在说话

但是它并不是s的skill方法,它不是属于BasketballMixin的方法吗?而s是指BStudent(),实在是不理解
2016-09-08 回复 有任何疑惑可以回复我~
#5

慕粉3367702 提问者 回复 雨还在下像在说话

我们在 class 中定义的实例方法其实也是属性,它实际上是一个函数对象: class Person(object): def __init__(self, name, score): self.name = name self.score = score def get_grade(self): return 'A' p1 = Person('Bob', 90) print p1.get_grade print p1.get_grade() # => A 这里明明就说了,实例方法也是属性的,你看下我说的对不对?
2016-09-08 回复 有任何疑惑可以回复我~
查看2条回复

举报

0/150
提交
取消
python进阶
  • 参与学习       255665    人
  • 解答问题       2949    个

学习函数式、模块和面向对象编程,掌握Python高级程序设计

进入课程

skill是BasketballMixin的属性吗?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信