Discuss / Python / 疑惑

疑惑

Topic source

hunger

#1 Created at ... [Delete] [Delete and Lock User]

我有个疑问,get_age(self,age)方法在定义时形参里面有self,意思就是类方法,那为什么还要动态给实例对象添加方法呢?不是多此一举吗

你的意思  应该是说set_age(self,age)有self,就是实例方法(类方法第一个参数是cls不是self)。 

不是多此一举。注意看文章开头,Student()类里面只有一个pass,说明它里面啥都没,是个空壳的类。   set_age(self,age)函数是在类外定义的,它要是不添加进类,那它跟类啥关系都没有。  而楼主纠结的是函数有个self参数,我的理解是,一个函数的参数名是自由的,用self做参数完全没毛病;至于这个函数返回的东西能不能调用,就要看具体场景;反正函数这么定义 在语法上是没错的。    最后就是, 要将类外定义的set_age()方法添加进空壳类,创建的实例才有方法可以调用。


  • 1

Reply