1 / 15

Python Classes and Objects Mini-Course

Learn how to define and use classes and objects in Python, including instantiating objects, assigning attribute values, and copying objects. This mini-course covers the basics of object-oriented programming in Python.

dcassandra
Download Presentation

Python Classes and Objects Mini-Course

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Lesson 26Classes and Objects Python Mini-Course University of Oklahoma Department of Psychology Python Mini-Course: Lesson 26

  2. Lesson objectives • Write a class definition • Instantiate objects • Assign values to attributes • Change attribute values • Copy objects Python Mini-Course: Lesson 26

  3. Class definition • Use the class keyword • Example: class Point(object): """ represents a point in 2-D space """ print Point Python Mini-Course: Lesson 26

  4. Instantiating an object • Call the class constructor by using the class name as if it were a function • Example: p1 = Point() print p1 Python Mini-Course: Lesson 26

  5. Assigning attribute values • Use the object name and the attribute name with dot notation • Example: p1.x = 3.0 p1.y = 4.0 print p1.x, p1.y Python Mini-Course: Lesson 26

  6. Assigning attribute values • These are called instance attributes p2 = Point() p2.x, p2.y = 12.0, 13.0 print p1.x, p1.y print p2.x, p2.y Python Mini-Course: Lesson 26

  7. Note on attributes • Python handles attributes somewhat differently from other OOP languages • All attributes are "public" • Attributes can be created on the fly Python Mini-Course: Lesson 26

  8. Using attributes • Object attributes are just like any other variable print '(%g, %g)' % (p1.x, p1.y) from math import sqrt distance = sqrt(p1.x**2 + p2.y**2) print distance Python Mini-Course: Lesson 26

  9. Note: • Objects are data types • You can pass objects to functions and return them from functions, just like any other data type Python Mini-Course: Lesson 26

  10. Example: def print_point(p): print '(%g, %g)' % (p.x, p.y) print_point(p1) NB: this example violates the principle of encapsulation Python Mini-Course: Lesson 26

  11. Encapsulation • Examples • rectangle1.py • rectangle2.py • rectangle3.py Python Mini-Course: Lesson 26

  12. Aliasing Try this: box = Rectangle(10.0, 200.0) box1 = box box1.width = 100.0 print box.width, box1.width box1 is box Python Mini-Course: Lesson 26

  13. Copying • Use the copy module import copy box2 = copy.copy(box) box2.width = 50.0 print box.width, box2.width box2 is box Python Mini-Course: Lesson 26

  14. Limitations of copying box2.corner.x = 2.0 print box.corner.x box2.corner is box.corner Python Mini-Course: Lesson 26

  15. Deep copying • Use the copy module box3 = copy.deepcopy(box) box3.corner.x = 1.0 print box.corner.x, box3.corner.x box3.corner is box.corner Python Mini-Course: Lesson 26

More Related