#定义一个父类一个子类 class Province(object): def __init__(self,proname): self.proname=proname def ps(self): print('I am in %s'%self.proname) class City(Province): def __init__(self,proname,cityname): self.cityname=cityname Province.__init__(self,proname) def ps1(self): print('I\'m in %s-%s' %(self.proname,self.cityname)) #定义一个独立的类 class Timer(object): def ps(self): print('我不属于Province类或其子类,但我有ps方法我同样可以被调用') def ps1(self): print('我不属于Province类或其子类,但我有ps1方法我同样可以被调用') #定义一个函数 def f(x): x.ps() x.ps1() #调用部分 f(City('上海','浦东')) f(Timer())
返回结果 I am in 上海 I'm in 上海-浦东
我不属于Province类或其子类,但我有ps方法我同样可以被调用 我不属于Province类火气子类,但我有ps1方法我同样可以被调用
楼主的这个例子挺好的,提个建议,定义f函数时候把x变成City我觉得更能说明问题。
其实使用x更好一些,city指的是它是City这种类型,其实不管啥类型,只要有对应的方法即可
灰常棒
不明白啊.. 你定义的Timer类里不就是有ps和psl函数吗? 所以 f(Timer())的结果是Timer类里的函数print值不是很正常的吗??
一个接口,多种实现!
楼主厉害了,一串代码,将教程里的内容都列了个遍。
Province.init(self,proname) 弱弱的问一下楼主,这句话是什么意思。。。多谢
Province.init(self, proname) ``` 表示使用Province类的初始化方法
与@还有什么名字没有人选 同问: 你定义的Timer类里不就是有ps和psl函数吗? 所以 f(Timer())的结果是Timer类里的函数print值不是很正常的吗??
Sign in to make a reply
summons_M
返回结果 I am in 上海 I'm in 上海-浦东
我不属于Province类或其子类,但我有ps方法我同样可以被调用 我不属于Province类火气子类,但我有ps1方法我同样可以被调用