What's the difference between a function and a method? A function is a named piece of code that performs an operation, and a method is a function with an extra parameter which is the object that it's to run on.
Example:
class hotel:
def __init__(self,name,nightly):
self.name = name
self.nightly = nightly
def getweekly(self):
return 7 * self.nightly
def seventimes(amount):
return 7 * amount
# -------------------------------
manor = hotel("Well House Manor",90)
beechfield = hotel("Beechfield",120)
# Calling a METHOD - a function on an object
ma_am = manor.getweekly()
be_am = beechfield.getweekly()
# calling a FUNCTION - less useful code as it
# does not give an implicit link to the data
# that it's on.
rz = seventimes(240)
print ma_am, be_am, rz (written 2006-10-20)
| Commentator | says ... | | Anthony: | My house is my castle. Anthony. (comment added 2006-10-27 20:09:37) |
Associated topics are indexed under
Y105 - Python - Functions, Modules and Packages [4029] Exception, Lambda, Generator, Slice, Dict - examples in one Python program - (2013-03-04)
[3945] vargs in Python - how to call a method with unknown number of parameters - (2012-12-06)
[3931] Optional positional and named parameters in Python - (2012-11-23)
[3885] Default local - a good choice by the author of Python - (2012-10-08)
[3852] Static variables in Python? - (2012-08-29)
[3766] Python timing - when to use a list, and when to use a generator - (2012-06-16)
[3695] Functions are first class variables in Lua and Python - (2012-04-13)
[3662] Finding all the unique lines in a file, using Python or Perl - (2012-03-20)
[3474] Python Packages - groupings of modules. An introduction - (2011-10-11)
[3472] Static variables in functions - and better ways using objects - (2011-10-10)
[3464] Passing optional and named parameters to python methods - (2011-10-04)
[3459] Catching the fishes first? - (2011-09-27)
[3280] Passing parameters to Python functions - the options you have - (2011-05-07)
[3159] Returning multiple values from a function call in various languages - a comparison - (2011-02-06)
[2998] Using an exception to initialise a static variable in a Python function / method - (2010-10-13)
[2994] Python - some common questions answered in code examples - (2010-10-10)
[2929] Passing a variable number of parameters in to a function / method - (2010-08-20)
[2878] Program for reliability and efficiency - do not duplicate, but rather share and re-use - (2010-07-19)
[2766] Optional and named parameters to Python functions/methods - (2010-05-15)
[2718] Python - access to variables in the outer scope - (2010-04-12)
[2520] Global and Enable - two misused words! - (2009-11-30)
[2506] Good example of recursion in Python - analyse an RSS feed - (2009-11-18)
[2481] Sample code with errors in it on our web site - (2009-10-29)
[2440] Optional parameters to Python functions - (2009-10-07)
[2439] Multiple returns from a function in Python - (2009-10-06)
[2011] Conversion of OSI grid references to Eastings and Northings - (2009-01-28)
[1879] Dynamic code - Python - (2008-11-11)
[1871] Optional and named parameters in Python - (2008-11-05)
[1870] What to do with a huge crop of apples - (2008-11-04)
[1869] Anonymous functions (lambdas) and map in Python - (2008-11-04)
[1790] Sharing variables with functions, but keeping them local too - Python - (2008-09-09)
[1784] Global - Tcl, PHP, Python - (2008-09-03)
[1464] Python Script - easy examples of lots of basics - (2007-12-08)
[1202] Returning multiple values from a function (Perl, PHP, Python) - (2007-05-24)
[1163] A better alternative to cutting and pasting code - (2007-04-26)
[1134] Function / method parameters with * and ** in Python - (2007-04-04)
[959] It's the 1st, not the 1nd 1rd or 1th. - (2006-12-01)
[949] Sludge off the mountain, and Python and PHP - (2006-11-27)
[913] Python - A list of methods - (2006-11-03)
[912] Recursion in Python - (2006-11-02)
[821] Dynamic functions and names - Python - (2006-08-03)
[775] Do not duplicate your code - (2006-06-23)
[749] Cottage industry or production line data handling methods - (2006-06-07)
[745] Python modules. The distribution, The Cheese Shop and the Vaults of Parnassus. - (2006-06-05)
[668] Python - block insets help with documentation - (2006-04-04)
[561] Python's Generator functions - (2006-01-11)
[418] Difference between import and from in Python - (2005-08-18)
[386] What is a callback? - (2005-07-22)
[340] Code and code maintainance efficiency - (2005-06-08)
[308] Call by name v call by value - (2005-05-11)
[303] Lambdas in Python - (2005-05-06)
[294] Python generator functions, lambdas, and iterators - (2005-04-28)
[105] Distance Learning - (2004-10-31)
[96] Variable Scope - (2004-10-22)
Y106 - Object Oriented Python [4028] Really Simple Class and Inheritance example in Python - (2013-03-04)
[4021] Spike solution, refactored and reusable, Python - Example - (2013-02-28)
[3947] this or self - what are they, and what is the difference? (Python) - (2012-12-08)
[3878] From Structured to Object Oriented Programming. - (2012-10-02)
[3673] Object oriented or structured - a comparison in Python. Also writing clean regular expressions - (2012-03-26)
[3436] Moving from scripting to Object Orientation in Python - (2011-09-13)
[3399] From fish, loaves and apples to money, plastic cards and BACS (Perl references explained) - (2011-08-20)
[3085] Object Oriented Programming for Structured Programmers - conversion training - (2010-12-14)
[2604] Tips for writing a test program (Ruby / Python / Java) - (2010-01-29)
[2169] When should I use OO techniques? - (2009-05-11)
[2017] Python - a truly dynamic language - (2009-01-30)
[1925] Introduction to Object Oriented Programming - (2008-12-06)
[1348] Screw it or Glue it? Access to Object variables - a warning - (2007-09-12)
[1306] Python class rattling around - (2007-08-16)
[834] Python makes University Challenge - (2006-08-15)
[477] Class, static and unbound variables - (2005-10-25)
55bf
Some other Articles
Of course I'll tell you by emailPieces of PythonBrand new hotel and training centre, MelkshamPython - listing out the contents of all variablesPython - function v methodPython - extend v append on a listCourses at Well House ManorToo much for the National TrustPHP - good coding practise and sticky radio buttonsWelcome, Martin