Home Accessibility Courses Twitter The Mouth Facebook Resources Site Map About Us Contact
For 2023 (and 2024 ...) - we are now fully retired from IT training.
We have made many, many friends over 25 years of teaching about Python, Tcl, Perl, PHP, Lua, Java, C and C++ - and MySQL, Linux and Solaris/SunOS too. Our training notes are now very much out of date, but due to upward compatability most of our examples remain operational and even relevant ad you are welcome to make us if them "as seen" and at your own risk.

Lisa and I (Graham) now live in what was our training centre in Melksham - happy to meet with former delegates here - but do check ahead before coming round. We are far from inactive - rather, enjoying the times that we are retired but still healthy enough in mind and body to be active!

I am also active in many other area and still look after a lot of web sites - you can find an index ((here))
this or self - what are they, and what is the difference? (Python)

In any object oriented language, you'll have a number of different objects of the same type, and you'll need to be able to refer to a paricular attribute within a particular object - usually, you'll call a named piece of code (a method) on an object and need to say "on THIS object" ... let me rephrase that in an example ...

I have two tables in my restaurant. One is made of glass and the other is made of pine. And I run a piece of code asking what material is THIS table made of. Depending on which table object I run my method on, the answer could be "this table is made of glass" or "this table is made of pine".

In Python, the first parameter to a normal (or dynamic or object) method in a class is the reference to the current object. In many of my demonstrations to newcomers, you'll find me using the name current for the variable, but it's most common to use self. And there's no reason at all why you can't use the variable name this. None of these are reserved words, and you can even vary the word you use from one method to the next. Code-wise, it's no more that a place holder; some tools may prefer you to use one word or another, though.

Example code - [here] - which used self, this and current, and a data file that goes with the example is [here]. The example also shows the use of a factory pattern (again, factory is just a name and we have actually called our method make)

Note - in some languages such as Java and PHP, the "current object" word is a reserved name rather than being declared at the top of the method, and you can't choose to change it from this.
(written 2012-12-08, updated 2012-12-15)

Associated topics are indexed as below, or enter http://melksh.am/nnnn for individual articles
Y106 - Object Oriented Python
  [477] Class, static and unbound variables - (2005-10-25)
  [834] Python makes University Challenge - (2006-08-15)
  [900] Python - function v method - (2006-10-20)
  [1306] Python class rattling around - (2007-08-16)
  [1348] Screw it or Glue it? Access to Object variables - a warning - (2007-09-12)
  [1925] Introduction to Object Oriented Programming - (2008-12-06)
  [2017] Python - a truly dynamic language - (2009-01-30)
  [2169] When should I use OO techniques? - (2009-05-11)
  [2604] Tips for writing a test program (Ruby / Python / Java) - (2010-01-29)
  [3085] Object Oriented Programming for Structured Programmers - conversion training - (2010-12-14)
  [3399] From fish, loaves and apples to money, plastic cards and BACS (Perl references explained) - (2011-08-20)
  [3436] Moving from scripting to Object Orientation in Python - (2011-09-13)
  [3673] Object oriented or structured - a comparison in Python. Also writing clean regular expressions - (2012-03-26)
  [3878] From Structured to Object Oriented Programming. - (2012-10-02)
  [4021] Spike solution, refactored and reusable, Python - Example - (2013-02-28)
  [4028] Really Simple Class and Inheritance example in Python - (2013-03-04)
  [4129] Simple OO demonstration in C++, comparison to Python - (2013-07-01)
  [4448] What is the difference between a function and a method? - (2015-03-04)
  [4591] From single block to structure and object oriented programming - (2015-12-02)
  [4650] Why populate object with values as you construct them? - (2016-02-18)
  [4721] When to check an object type - Python isinstance example - (2016-11-03)

Back to
Moving from a warning system to a control system - PHP, forum spammers
Previous and next
Horse's mouth home
Forward to
Quiet little town? Advanced Technology Centre?
Some other Articles
Christmas Bus Schedule for Melksham - First Bus
10 reasons why I travel the night before a course starts
Melksham Spa from Woolmore Farm
Quiet little town? Advanced Technology Centre?
this or self - what are they, and what is the difference? (Python)
Moving from a warning system to a control system - PHP, forum spammers
vargs in Python - how to call a method with unknown number of parameters
Melksham Christmas Lights, 2012
With us for a year already!
Santa Trip - Melksham Railway Development Group, 2012
4759 posts, page by page
Link to page ... 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96 at 50 posts per page

This is a page archived from The Horse's Mouth at http://www.wellho.net/horse/ - the diary and writings of Graham Ellis. Every attempt was made to provide current information at the time the page was written, but things do move forward in our business - new software releases, price changes, new techniques. Please check back via our main site for current courses, prices, versions, etc - any mention of a price in "The Horse's Mouth" cannot be taken as an offer to supply at that price.

Link to Ezine home page (for reading).
Link to Blogging home page (to add comments).

You can Add a comment or ranking to this page

© WELL HOUSE CONSULTANTS LTD., 2024: 48 Spa Road • Melksham, Wiltshire • United Kingdom • SN12 7NY
PH: 01144 1225 708225 • EMAIL: info@wellho.net • WEB: http://www.wellho.net • SKYPE: wellho

PAGE: http://www.wellho.net/mouth/3947_thi ... thon-.html • PAGE BUILT: Sun Oct 11 16:07:41 2020 • BUILD SYSTEM: JelliaJamb