0% found this document useful (0 votes)
129 views

1.2.9. Object-Oriented Programming (OOP) : Student

The document discusses object-oriented programming in Python. It provides an example of defining a Student class with attributes like name, age, and major and methods like set_age and set_major. It then defines a MasterStudent class that inherits from Student and adds an internship attribute. Object-oriented programming allows organizing code into classes that represent different objects, with methods and attributes. Classes can inherit from other classes to reuse code and consider variations on a base class.

Uploaded by

Manu Mannu
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
129 views

1.2.9. Object-Oriented Programming (OOP) : Student

The document discusses object-oriented programming in Python. It provides an example of defining a Student class with attributes like name, age, and major and methods like set_age and set_major. It then defines a MasterStudent class that inherits from Student and adds an internship attribute. Object-oriented programming allows organizing code into classes that represent different objects, with methods and attributes. Classes can inherit from other classes to reuse code and consider variations on a base class.

Uploaded by

Manu Mannu
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 2

11/16/2014

1.2.9. Object-oriented programming (OOP) Scipy lecture notes

1.2.9. Object-oriented programming (OOP)


Python supports object-oriented programming (OOP). The goals of OOP are:
to organize the code, and
to re-use code in similar contexts.
Here is a small example: we create a Student class, which is an object gathering several
custom functions (methods) and variables (attributes), we will be able to use:
>>>
...
...
...
...
...
...
...
>>>
>>>
>>>

class Student(object):
def __init__(self, name):
self.name = name
def set_age(self, age):
self.age = age
def set_major(self, major):
self.major = major

>>>

anna = Student('anna')
anna.set_age(21)
anna.set_major('physics')

In the previous example, the Student class has __init__ , set_age and set_major methods. Its
attributes are name , age and major . We can call these methods and attributes with the
following notation: classinstance.method or classinstance.attribute . The __init__ constructor is
a special method we call with: MyClass(init parameters if any) .
Now, suppose we want to create a new class MasterStudent with the same methods and
attributes as the previous one, but with an additional internship attribute. We wont copy the
previous class, but inherit from it:
>>> class MasterStudent(Student):
...
internship = 'mandatory, from March to June'
...
>>> james = MasterStudent('james')
>>> james.internship
'mandatory, from March to June'
>>> james.set_age(23)
>>> james.age
23

>>>

The MasterStudent class inherited from the Student attributes and methods.
Thanks to classes and object-oriented programming, we can organize code with different
classes corresponding to different objects we encounter (an Experiment class, an Image
class, a Flow class, etc.), with their own methods and attributes. Then we can use
http://scipy-lectures.github.io/intro/language/oop.html

1/2

11/16/2014

1.2.9. Object-oriented programming (OOP) Scipy lecture notes

inheritance to consider variations around a base class and re-use code. Ex : from a Flow
base class, we can create derived StokesFlow, TurbulentFlow, PotentialFlow, etc.

http://scipy-lectures.github.io/intro/language/oop.html

2/2

You might also like