拜师——python基础入门—第8大节课— 类:方法没有重载 方法的动态性——day34

第104课时: 类: 方法没有重载 方法的动态性



方法没有重载:

在python中 方法的参数没有类型(调用时确定参数类型)

所以,建议不使用重名的方法!!!

class student:

    def say(self):
        print('算工资拉.....')

    def say(self, salary):
        print('算工资拉.....{0}'.format(salary))

p1 = student()
p1.say()

报错,第二个say方法覆盖了第一个,
所以你调用say方法没有传递参数就会报错。


这个就没有报错:

class student:

    def say(self):
        print('算工资拉.....')

    def say(self, salary):
        print('算工资拉.....{0}'.format(salary))

p1 = student()
p1.say(30)

算工资拉…30



方法的动态性:

Python是动态语言,我们可以动态的去修改结构,或者动态的修改类的已有的方法。


将外部的函数当作类的方法传递给类。

class student:
    def say(self):
        print('算工资拉.....')



def pay(self,a):
        print('发钱{0}'.format(a))

student.pay=pay

p=student()

p.say()

p.pay(20)

算工资拉…

发钱20

student.pay=pay 这句话相当于将 pay 这个函数 当作类的方法student.pay 赋给类对象student。

一起都是对象!!!可以互相传递引用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值