Python中Function(函数)和methon(方法)
来源:互联网 发布:mac休眠后无法唤醒 编辑:程序博客网 时间:2024/06/08 00:04
在Python中,对这两个东西有明确的规定:
函数function —— A series of statements which returns some value toa caller. It can also be passed zero or more arguments which may beused in the execution of the body.
方法method —— A function which is defined inside a class body. Ifcalled as an attribute of an instance of that class, the methodwill get the instance object as its first argument (which isusually called self).
从定义的角度上看,我们知道函数(function)就相当于一个数学公式,它理论上不与其它东西关系,它只需要相关的参数就可以。所以普通的在module中定义的称谓函数是很有道理的。
那么方法的意思就很明确了,它是与某个对象相互关联的,也就是说它的实现与某个对象有关联关系。这就是方法。虽然它的定义方式和函数是一样的。也就是说,在Class定义的函数就是方法。
从上面的角度看似乎很有道理。
>>> def fun():
>>> type(fun)
<class'function'>
>>> class Cla():
>>> i=Cla()
>>>Cla.fun.__class__
<class'function'>
>>>i.fun.__class__
<class 'method'>
>>>type(Cla.fun1)
<class 'method'> #这里又是方法
>>> type(i.fun1)
<class 'method'> #这里仍然是方法
>>>type(Cla.fun2)
<class 'function'> #这里却是函数
>>> type(i.fun2)
<class 'function'> #这里却是函数
事实上,上面的结果是可以解释的:
1,普通方法(老版中直接就是"instancemethod")在module中与在Class中定义的普通函数,从其本身而言是没有什么区别的,他们都是对象函数属性。
2,类方法("classmethod"),因为类同样是对象,所以如果函数与类进行联系了话(与实例方法一样的模式)那么就能够这么说了!
3,静态方法,虽然定义在内部,并且也较方法,但是却不与任何对象联系,与从类访问方法是一样的,他们仍然是函数。
函数的定义自然不变。
方法的定义可以是这样的,与某个对象进行绑定使用的函数。注意哦。绑定不是指" ."这个符号,这个符号说实在的只有域名的作用。绑定在这里是指,会默认赋值该绑定的对象。
- Python中Function(函数)和methon(方法)
- Python中Function(函数)和methon(方法)
- 转 Python中Function(函数)和methon(方法)
- Python中Function(函数)和methon(方法)
- Python中Function(函数)和methon(方法)
- Python中Function(函数)和methon(方法)
- Python中Function(函数)和methon(方法)
- Python函数(function)与方法(method)区别
- Python的函数和方法装饰漫谈(Function decorator)
- 方法(method)和函数(function)的区别
- Verilog中任务(task)和函数(function)
- 我所理解的Python里method和function的区别(关键词:method/方法/function/函数)
- oracle 中函数(function)的学习
- javascript 中函数的调用:直接调用函数和new function()区别
- 在python中调用自己写的方法或函数function
- Python中如何避免使用多个分支语句(多个if和else)——函数字典(Function Map)简介
- Function:--js中创建函数的方法
- 设计模式 笔记 工厂方法 Factory Methon
- mysql临时表优化
- 建立一个简单的 struts2 + json 应用
- Mybatis - 全站代码 - 中文文档下载 - api文档下载
- hadoop-eclipse-plugin的正确使用(对应0.20.1版本)
- Android的视频通话的Java代码
- Python中Function(函数)和methon(方法)
- 顺序栈的基本操作实现
- strcpy函数执行解析
- 数据结构之Status
- matplotlib手册之图装饰
- 配置tomcat与solr
- MyEclipse6.5 使用快捷键卡死
- 数据挖掘
- x264_mb_predict_mv_ref16x16 函数分析