您的位置:首页 > 编程语言 > Python开发

what is the different between function and method in python

2017-02-17 15:00 531 查看
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"
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐