Here's the question you clicked on:

55 members online
  • 0 replying
  • 0 viewing


  • 3 years ago

Hi fellow OCW student, I have very fundamental questions about programming in general. I'd like to use a simple example as follows: class Square(Shape): def __init__(self, h): "h: length of side of the square" self.side = float(h) ===>> here, why should I use self.side instead of using just side = float(h)? I kind of understand why, but not 100%.

  • This Question is Closed
  1. slotema
    • 3 years ago
    Best Response
    You've already chosen the best response.
    Medals 1

    The `self.` part indicates that the variable is a member of the class and not a local variable. Suppose you try to write your code like this: class Square(Shape): def __init__(self, h): side = float(h) What is side? Is side a local variable, usable only inside the `__init__` function? Or is it a member of the class? To avoid this confusion, you'll need to specifically say that the variable is a class member by putting `self.` in front of the variable. It also depends on the language (for example, in C++ you may, but are not required to, use `this->` to access member variables).

  2. Not the answer you are looking for?
    Search for more explanations.

    • Attachments:

Ask your own question

Sign Up
Find more explanations on OpenStudy
Privacy Policy