python123怎么绑定慕课_Python 对象的绑定方法

例:

classOldboyStudent:

school='oldboy'

def __init__(self,name,age,sex):

self.name=name

self.age=age

self.sex=sexdeflearn(self):print('%s is learning' %self.name) #新增self.name

defeat(self):print('%s is eating' %self.name)defsleep(self):print('%s is sleeping' %self.name)

s1=OldboyStudent('李坦克','男',18)

s2=OldboyStudent('王大炮','女',38)

s3=OldboyStudent('牛榴弹','男',78)

类中定义的函数(没有被任何装饰器装饰的)是类的函数属性,类可以使用,但必须遵循函数的参数规则,有几个参数需要传几个参数

OldboyStudent.learn(s1) #李坦克 is learning

OldboyStudent.learn(s2) #王大炮 is learning

OldboyStudent.learn(s3) #牛榴弹 is learning

类中定义的函数(没有被任何装饰器装饰的),其实主要是给对象使用的,而且是绑定到对象的,虽然所有对象指向的都是相同的功能,但是绑定到不同的对象就是不同的绑定方法

强调:绑定到对象的方法的特殊之处在于,绑定给谁就由谁来调用,谁来调用,就会将‘谁’本身当做第一个参数传给方法,即自动传值(方法__init__也是一样的道理)

s1.learn() #等同于OldboyStudent.learn(s1)

s2.learn() #等同于OldboyStudent.learn(s2)

s3.learn() #等同于OldboyStudent.learn(s3)

注意:绑定到对象的方法的这种自动传值的特征,决定了在类中定义的函数都要默认写一个参数self,self可以是任意名字,但是约定俗成地写出self。

类即类型

提示:python的class术语与c++有一定区别,与 Modula-3更像。

python中一切皆为对象,且python3中类与类型是一个概念,类型就是类

#类型dict就是类dict

>>>list

#实例化的到3个对象l1,l2,l3

>>> l1=list()>>> l2=list()>>> l3=list()#三个对象都有绑定方法append,是相同的功能,但内存地址不同

>>>l1.append

>>>l2.append

>>>l3.append

#操作绑定方法l1.append(3),就是在往l1添加3,绝对不会将3添加到l2或l3

>>> l1.append(3)>>>l1

[3]>>>l2

[]>>>l3

[]#调用类list.append(l3,111)等同于l3.append(111)

>>> list.append(l3,111) #l3.append(111)

>>>l3

[111]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值