Python: confused with classes, attributes and methods in OOP
Posted
by
user1586038
on Stack Overflow
See other posts from Stack Overflow
or by user1586038
Published on 2012-09-15T09:36:19Z
Indexed on
2012/09/15
9:37 UTC
Read the original article
Hit count: 203
A.
Am learning Python OOP now and confused with somethings in the code below.
Question: 1. def init(self, radius=1): What does the argument/attribute "radius = 1" mean exactly? Why isn't it just called "radius"?
- The method area() has no argument/attribute "radius". Where does it get its "radius" from in the code? How does it know that the radius is 5?
""" class Circle: pi = 3.141592
def __init__(self, radius=1):
self.radius = radius
def area(self):
return self.radius * self.radius * Circle.pi
def setRadius(self, radius):
self.radius = radius
def getRadius(self):
return self.radius
c = Circle()
c.setRadius(5) """
B.
Question:
In the code below, why is the attribute/argument "name" missing in the brackets?
Why was is not written like this: def init(self, name) and def getName(self, name)?
""" class Methods: def init(self): self.name = 'Methods'
def getName(self):
return self.name
"""
© Stack Overflow or respective owner