- Learning Python Design Patterns(Second Edition)
- Chetan Giridhar
- 377字
- 2021-07-16 09:46:14
Understanding object-oriented programming
Before you start learning about design patterns, it's always good to cover the basics and go through object-oriented paradigms in Python. The object-oriented world presents the concept of objects that have attributes (data members) and procedures (member functions). These functions are responsible for manipulating the attributes. For instance, take an example of the Car
object. The Car
object will have attributes such as fuel level
, isSedan
, speed
, and steering wheel
and coordinates
, and the methods would be accelerate()
to increase the speed and takeLeft()
to make the car turn left. Python has been an object-oriented language since it was first released. As they say, everything in Python is an object. Each class instance or variable has its own memory address or identity. Objects, which are instances of classes, interact among each other to serve the purpose of an application under development. Understanding the core concepts of object-oriented programming involves understanding the concepts of objects, classes, and methods.
Objects
The following points describe objects:
- They represent entities in your application under development.
- Entities interact among themselves to solve real-world problems.
- For example, Person is an entity and Car is an entity. Person drives Car to move from one location to the other.
Classes
Classes help developers to represent real-world entities:
- Classes define objects in attributes and behaviors. Attributes are data members and behaviors are manifested by the member functions
- Classes consist of constructors that provide the initial state for these objects
- Classes are like templates and hence can be easily reused
For example, class Person
will have attributes name
and age
and member function gotoOffice()
that defines his behavior for travelling to office for work.
Methods
The following points talk about what methods do in the object-oriented world:
- They represent the behavior of the object
- Methods work on attributes and also implement the desired functionality
A good example of a class and object created in Python v3.5 is given here:
class Person(object): def __init__(self, name, age): #constructor self.name = name #data members/ attributes self.age = age def get_person(self,): # member function return "<Person (%s, %s)>" % (self.name, self.age) p = Person("John", 32) # p is an object of type Person print("Type of Object:", type(p), "Memory Address:", id(p))
The output of the preceding code should look as follows:

- Spring Boot開發與測試實戰
- Three.js開發指南:基于WebGL和HTML5在網頁上渲染3D圖形和動畫(原書第3版)
- FreeSWITCH 1.6 Cookbook
- Python測試開發入門與實踐
- Java從入門到精通(第5版)
- 數據結構(Python語言描述)(第2版)
- ASP.NET動態網頁設計教程(第三版)
- Learning Neo4j 3.x(Second Edition)
- Python機器學習實戰
- Quarkus實踐指南:構建新一代的Kubernetes原生Java微服務
- 實戰Java高并發程序設計(第3版)
- Building RESTful Python Web Services
- Solr Cookbook(Third Edition)
- Machine Learning in Java
- C++寶典