what is the different between function and method in python

Recently, I’m concentrating on nose plugin development.
Some people would be confused with some descriptions in http://nose.readthedocs.io/en/latest/plugins/interface.html

wantFunction(function)
Return true to collect this function as a test, false to prevent it from being collected, and None if you don’t care.

Parameters: function – The function object being examined by the selector


wantMethod(method)
Return true to collect this method as a test, false to prevent it from being collected, and None if you don’t care.

Parameters: method (unbound method) – The method object being examined by the selector

what is the different between function and method?

After some experiments, we get the conclusion below:
- function is defined out of class in python
- method is defined in a class

>>> def a(): pass
>>> a
<function a at 0x107063aa0>
>>> type(a)
<type 'function'>

>>> class A:
...   def a(self): pass
>>> A.a
<unbound method A.a>
>>> type(A.a)
<type 'instancemethod'>
import unittest

def test_function():
      print "test_function will be invoked by wantFunction"

class TestStringMethods(unittest.TestCase)
     def test_method(self):
           print "test_method will be invoked by wantMethod"
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值