aaa=abc("1","f")
abc.pp(aaa)#aaa这个对象要调用pp()函数,那就用类abc调用函数pp(),传入值为aaa这个对象
菜鸟写菜鸟的一丁点东西。
python中的class下定义的函数,都默认要一个参数为self,这个跟java中的this有些相似(我是这么人为的),不过java中是
要用的时候用this,而python中是必须的,而且这个self参数还不计入参数个数里面,也就是def f(self,a,b)也就只能最多显式的传入
2个参数(自动加上self,参数个数还是self)。如果给出3个参数会报错。例如下面的:
代码:
class abc:
def __init__(self,a,b):
self.a=a
self.b=b
def pp(self):
print self.a,self.b
aaa=abc("ddd","123","234")
aaa.pp()
会报错:TypeError:__init__()takes exactly 3 arguments(4 given),下面的就对了
aaa=abc("123","234")#只显式的传入两个参数
当然了,self只是表示调用这个函数的对象,不一定非要是self,也可以是别的(self只是一个约定而已)上面的完全可以写为:
class abc:
def __init__(ss,a,b):
ss.a=a
ss.b=b
def pp(ss):
print ss.a,ss.b
aaa=abc("123","234")
aaa.pp()
,另外,由于那个self只是表示要调用这个函数的对象,用下面的方法可以更直观的看清self的本质。
aaa=abc("1","f")
abc.pp(aaa)#aaa这个对象要调用pp()函数,那就用类abc调用函数pp(),传入值为aaa这个对象
分享到:
相关推荐
本文实例讲述了python中self原理。分享给大家供大家参考。具体分析如下: 类的方法与普通的函数只有一个特别的区别——它们必须有一个额外的第一个参数名称,但是在调用这个方法的时候你不为这个参数赋值,Python会...
Python中看到或使用self时一定要弄明白self的指代,这里就带大家来全面理解Python中self的用法,需要的朋友可以参考下
在Python类中规定,函数的第一个参数是实例对象本身,并且约定俗成,把其名字写为self。其作用相当于java中的this,表示当前类的对象,可以调用当前类中的属性和方法。 class是面向对象的设计思想,instance(也即是...
self名称不是必须的,在python中self不是关键词,你可以定义成a或b或其它名字都可以,但是约定成俗(为了和其他编程语言统一,减少理解难度),不要搞另类,大家会不明白的。 下例中将self改为myname一样没有错误: ...
主要介绍了python 中的self和cls的实例代码及区别讲解,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
介绍python 中__self__标识符和self标识符的区别
毕业设计 基于Python+Self-Attention的汉语语义角色标注源码+部署文档+全部数据资料(优秀项目).zip毕业设计 基于Python+Self-Attention的汉语语义角色标注源码+部署文档+全部数据资料(优秀项目).zip毕业设计 ...
我们在使用 Python 中的 方法 method 时,经常会看到 参数中带有 self,但是我们也没对这个参数进行赋值,那么这个参数到底是啥意思呢? 2、知识点 2.1 成员函数(m) 和 普通方法(f) Python 中的 “类方法” 必须有一...
接触Python以来,看到类里的函数要带个self参数,一直搞不懂啥麻子原因。晚上特别针对Python的self查了一下,理理。 Python要self的理由 Python的类的方法和普通的函数有一个很明显的区别,在类的方法必须有个额外的...
celery功能的实现,python代码,邮件发送
主要介绍了Python中return self的用法,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
python basics introduction
基于Python实现动态漂浮爱心的源码 class Heart(): #每个爱心(爱心类) def __init__(self): self.r = ra.randint(10,15) #爱心的半径 self.x = ra.randint(-1000,1000) #爱心的横坐标 self.y = ra.randint(-...
Python连连看小游戏源代码,
数据分类,python语言进行的数据分类