Discuss / Python / 自己的一点理解,请指教

自己的一点理解,请指教

Topic source

summons_M

#1 Created at ... [Delete] [Delete and Lock User]
#定义一个父类一个子类
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方法我同样可以被调用

zmlizxy

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

楼主的这个例子挺好的,提个建议,定义f函数时候把x变成City我觉得更能说明问题。

Java-SE

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

其实使用x更好一些,city指的是它是City这种类型,其实不管啥类型,只要有对应的方法即可

灰常棒

不明白啊.. 你定义的Timer类里不就是有ps和psl函数吗? 所以 f(Timer())的结果是Timer类里的函数print值不是很正常的吗??

Bgn-037

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

一个接口,多种实现!

齐商0208

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

楼主厉害了,一串代码,将教程里的内容都列了个遍。

Province.init(self,proname) 弱弱的问一下楼主,这句话是什么意思。。。多谢

Devon215

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

Province.init(self, proname) ``` 表示使用Province类的初始化方法

与@还有什么名字没有人选 同问: 你定义的Timer类里不就是有ps和psl函数吗? 所以 f(Timer())的结果是Timer类里的函数print值不是很正常的吗??


  • 1
  • 2

Reply