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

类里面并没有定义特殊方法,为啥能调用特殊方法?

类里面并没有定义特殊方法,为啥能调用特殊方法?

正在回答

4 回答

有可能是祖先类的方法

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

倚框天外 提问者

非常感谢!
2015-10-15 回复 有任何疑惑可以回复我~

继承,object类都有这些方法,所有的类都继承于object,所以所有类都有这些魔法方法,可以通过重写魔法方法来实现自己的想法,比如:

   

class Person(object):

    count = 0

    def __init__(self, name, gender):

        self.name = name

        self.gender = gender

    def whoAmI(self):

        return 'I am a Person, my name is %s' % self.name

    def __str__(self):

        return  '%s:%d' % (self.name, self.gender)



p = Person('Tim', 'Male')

print(p)

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

大神宫

没写完了,输出:Tim:Male
2017-09-17 回复 有任何疑惑可以回复我~
#2

居小喵 回复 大神宫

return '%s:%d' % (self.name, self.gender)应该是两个%s哦 return '%s:%s' % (self.name, self.gender)
2019-03-20 回复 有任何疑惑可以回复我~

学过java和c++的都知道啊。。。

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

qq_永安卿_03794058

可是我们没有学过啊。能麻烦解释一下吗?
2016-09-13 回复 有任何疑惑可以回复我~

(个人观点)因为person类实际上是继承了object类,object类中定义了__str__()方法,所以person类可以调用。

9 回复 有任何疑惑可以回复我~

举报

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

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

进入课程

类里面并没有定义特殊方法,为啥能调用特殊方法?

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