Python Programming - VI. Classes and Objects

100 %
0 %
Information about Python Programming - VI. Classes and Objects
Technology

Published on December 30, 2013

Author: ranelpadon

Source: slideshare.net

PYTHON PROGRAMMING VI. CLASSES AND OBJECTS Engr. Ranel O. Padon

PYTHON PROGRAMMING TOPICS I •Introduction to Python Programming II •Python Basics III •Controlling the Program Flow IV •Program Components: Functions, Classes, Packages, and Modules V •Sequences (List and Tuples), and Dictionaries VI •Object-Based Programming: Classes and Objects VII •Customizing Classes and Operator Overloading VIII •Object-Oriented Programming: Inheritance and Polymorphism IX •Randomization Algorithms X •Exception Handling and Assertions XI •String Manipulation and Regular Expressions XII •File Handling and Processing XIII •GUI Programming Using Tkinter

PROGRAMMING PARADIGMS

PROGRAMMING PARADIGMS • Procedural/Imperative (C, FORTRAN, COBOL) • Object-Oriented (C++, Java, C#, Objective-C) Objective-C is used in Apple’s OS X and iOS and for customizing its apps. • Functional Programming (Lisp) Lisp is used for customizing AutoCAD • Logic Programming (Prolog) • Concurrent (Erlang) • Multi-Paradigm (Python, Scala, PHP, JavaScript) •…

PROGRAMMING PARADIGMS http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html

PROGRAMMING PARADIGMS http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html

PROGRAMMING PARADIGMS http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html

PROCEDURE-ORIENTED PROGRAMMING

PROCEDURE-ORIENTED PROGRAMMING

PROCEDURE-ORIENTED PROGRAMMING 1/6) Emphasis is on doing things (algorithms). 2/6) Large programs are divided into smaller programs known as functions. 3/6) Most of the functions share global data.

PROCEDURE-ORIENTED PROGRAMMING 4/6) Data are more open around the system from function to function. 5/6) Functions transform data from one form to another. 6/6) Employs top-down approach in program design.

OBJECT-ORIENTED PROGRAMMING

OBJECT-ORIENTED PROGRAMMING The data of an object can be accessed only by the functions associated with that object. Functions of one object can access the functions of other objects.

OBJECT-ORIENTED PROGRAMMING 1/8) Emphasis is on data rather than procedures or algorithms. 2/8) Programs are divided into what are known as objects. 3/8) Data structures are designed such that they characterize the objects. 4/8) Functions that operate on the data are tied together in the data structure.

OBJECT-ORIENTED PROGRAMMING 5/8) Data is hidden and cannot be accessed by external functions. 6/8) Objects may communicate with each other through functions. 7/8) New data and functions can be easily added whenever necessary. 8/8) Follows bottom-up approach in program design.

OBJECT-ORIENTED PROGRAMMING Benefits of OOP: 1/8) Through inheritance, we can eliminate redundant code and extend the use of existing classes which is not possible in procedure-oriented approach. 2/8) We can build programs from the standard working modules that communicate with one another, rather than having to start writing the code from scratch which happens procedure-oriented approach. This leads to saving of development time and higher productivity.

OBJECT-ORIENTED PROGRAMMING Benefits of OOP: 3/8) The principle of data hiding helps the programmer to build secure programs that cannot be invaded by code in other parts of the program. 4/8) It is possible to have multiple instances of object to co-exist without any interference.

OBJECT-ORIENTED PROGRAMMING Benefits of OOP: 5/8) It is possible to map objects in the problem domain to those in the program. 6/8) It is easy to partition the work in a project based on objects .

OBJECT-ORIENTED PROGRAMMING Benefits of OOP: 7/8) Object oriented systems can be easily upgraded from small to large systems. 8/8) Software complexity can be easily managed.

OBJECT-ORIENTED PROGRAMMING OOP first appeared in the Simula programming language in the 1960s.

OBJECT-ORIENTED PROGRAMMING • Simula was invented by Ole-Johan Dahl and Kristen Nygaard, which influenced C++, Java, and C# • professors Dahl and Nygaard received two very prestigious prizes: 1.) von Neumann medal 2.) Turing prize (the Nobel prize of computer science)

OBJECT-ORIENTED PROGRAMMING Aspects of OOP

CLASSES • A class is just like a blueprint of a house. • An object is the actual house built from that blueprint. • You could then create numerous houses/objects from a single blueprint.

CLASSES Two main components of an Object/Class (these terms are synonymous/equivalent): • Attributes & Behaviors • Variables & Functions • Fields & Methods • Data Members & Member Functions

CLASSES INSTANTIATION

CLASSES

THE TIME CLASS | Time1.py

THE TIME CLASS | Time1.py

THE TIME CLASS | Time1.py

THE TIME CLASS

THE TIME CLASS

THE TIME CLASS

THE TIME CLASS

THE TIME CLASS

SPECIAL ATTRIBUTES Classes

SPECIAL ATTRIBUTES Classes

SPECIAL ATTRIBUTES Objects

SPECIAL ATTRIBUTES Objects

OBJECT ATTRIBUTES | Set and Get

OBJECT ATTRIBUTES | Protected Var

OBJECT ATTRIBUTES | Protected Var

OBJECT ATTRIBUTES | Set and Get

OBJECT ATTRIBUTES | Chaining Chaining Comparisons in Other Languages Concise Equivalent in Python

OBJECT ATTRIBUTES | Chaining Chaining Comparisons

OBJECT ATTRIBUTES | Set and Get

OBJECT ATTRIBUTES | Set and Get

OBJECT ATTRIBUTES | Set and Get

OBJECT ATTRIBUTES | Set and Get

OBJECT ATTRIBUTES | Set and Get

OBJECT ATTRIBUTES | Set and Get

OBJECT ATTRIBUTES | Set and Get Raising Exceptions

OBJECT ATTRIBUTES | Set and Get

OBJECT ATTRIBUTES | Set and Get

OBJECT ATTRIBUTES | Set and Get

OBJECT ATTRIBUTES | Set and Get

OBJECT ATTRIBUTES | Set and Get

OBJECT ATTRIBUTES | Private Var

OBJECT ATTRIBUTES | Private Var

OBJECT ATTRIBUTES | Private Var

CONSTRUCTORS | Default Args

CONSTRUCTORS | Default Args

CONSTRUCTORS | Default Args

CONSTRUCTORS | Default Args

CONSTRUCTORS | Default Args

CONSTRUCTORS | Default Args

CONSTRUCTORS | Default Args

CONSTRUCTORS | Default Args

CONSTRUCTORS | Default Args

DESTRUCTORS • method called __del__ • executes when the last reference to an object is deleted or goes out of scope. • specifies no parameters other than self • returns None.

DESTRUCTORS

CLASS ATTRIBUTES Class Attributes are used to track the state of all objects/instances of a given class. They are also known as Static Variables There are also Class Behaviors (Static Methods), methods that involve all objects/instances of a given class). In Java, Static Methods are used heavily by the Math class so that you could execute methods without creating an object of the Math class

CLASS ATTRIBUTES

CLASS ATTRIBUTES Lists are not restricted to homogeneous data types. Python programmers typically use lists to store sequences of homogeneous values (values of the same data type)

CLASS ATTRIBUTES Lists are not restricted to homogeneous data types. Python programmers typically use lists to store sequences of homogeneous values (values of the same data type)

CLASS ATTRIBUTES

COMPOSITION • Objects usually have attributes of basic/primitive data types (string, integers, boolean, etc) • Composition: when objects whose attributes are themselves references to objects of other classes

COMPOSITION note the gayagaya() method and the tao1.gayagaya(tao2) statement

COMPOSITION

COMPOSITION

COMPOSITION

COMPOSITION

COMPOSITION

REFERENCES  Deitel, Deitel, Liperi, and Wiedermann - Python: How to Program (2001).  Disclaimer: Most of the images/information used here have no proper source citation, and I do not claim ownership of these either. I don’t want to reinvent the wheel, and I just want to reuse and reintegrate materials that I think are useful or cool, then present them in another light, form, or perspective. Moreover, the images/information here are mainly used for illustration/educational purposes only, in the spirit of openness of data, spreading light, and empowering people with knowledge. 

Add a comment

Related presentations

Related pages

Part VI: Classes and OOP - Learning Python: Powerful ...

Part VI: Classes and OOP. In Part VI, we study the basics of object-oriented programming (OOP), as well as the code you write to use OOP in Python—the ...
Read more

How to Use the vi editor for Python programming « Python

How To: Use the vi editor for Python programming How To: Use classes and objects when coding a program in Python How To: Set up ...
Read more

Python programming : an introduction to computer science ...

PYTHON PROGRAMMING AN INTRODUCTION TO ... 4.3 Simple Graphics Programming 82 4.4 UsingGraphical Objects 86 ... Lists and Classes 355 11.5 Case Study ...
Read more

Financial Accounting Tutorial

Financial Accounting Tutorial . i About the Tutorial ... Python vi 12. DICTIONARY ... 18. CLASSES AND OBJECTS ...
Read more

Pygame

Introduction to programming using Python and Pygame. ... Then the program is improved by introducing classes. ... 3D Vi; CGTrader 3D models ...
Read more

VPython

o Click on VPython Help to see what graphical objects are ... Classic” VPython / Python 2.7 ... Python programming language, on which VPython ...
Read more

Learning to Program With Python

LEARNING TO PROGRAM WITH PYTHON ... 1.3 Learning Programming with Python . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 ... 11.1 Using Objects ...
Read more

BeginnersGuide - Python Wiki

New to programming? Python is free and easy to learn if you know where to start! ... Complete list of Beginner's Guide pages. BeginnersGuide ...
Read more