python中的函数重载

由于学c++, c++编程时多个构造函数是没有问题的。 
后来想了想又突然明白了 python中没有switch语句 为了发挥灵活性 多用字典来代替 
同样 为了保持代码的简洁 构造函数也只有一个,参数列表最长的一个覆盖其他的构造函数 
当需要实现变长参数个数时 采用默认值来实现,也即同名的函数只需要一个就够了 python代码确实简洁 
不过缺点是编译时如果没有调用 纵然定义了多个重载函数也不会报错 只有当调用参数较少重载函数时才会报出来 
 


class stu(object):
    print ('stu')

    #默认值构造函数
    def __init__(self, stuID,stuType='Primary'):
        self.ID=stuID
        self.Type=stuType

    def display(self):
        print(self.ID,self.Type)

#使用默认值实现构造函数的多态
stu1=stu(100)
stu2=stu(200,"midschool")
#stu.display()  #不能直接调用类的一般方法
stu1.display()
stu2.display()

猜你喜欢

转载自blog.csdn.net/sichuanpb/article/details/112692868