Skip to content

Commit 6fc96f7

Browse files
committed
Add materials for OOP update
1 parent 2a62fa7 commit 6fc96f7

File tree

7 files changed

+90
-0
lines changed

7 files changed

+90
-0
lines changed

python-oop/README.md

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# Object-Oriented Programming (OOP) in Python 3
2+
3+
This folder provides the code examples for the Real Python tutorial [Object-Oriented Programming (OOP) in Python 3](https://realpython.com/object-oriented-programming-oop-in-python-3/).

python-oop/cars.py

+14
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
class Car:
2+
def __init__(self, color, mileage):
3+
self.color = color
4+
self.mileage = mileage
5+
6+
def __str__(self):
7+
return f"The {self.color} car has {self.mileage:,} miles"
8+
9+
10+
blue_car = Car(color="blue", mileage=20_000)
11+
red_car = Car(color="red", mileage=30_000)
12+
13+
for car in (blue_car, red_car):
14+
print(car)

python-oop/dog.py

+12
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
class Dog:
2+
species = "Canis familiaris"
3+
4+
def __init__(self, name, age):
5+
self.name = name
6+
self.age = age
7+
8+
def __str__(self):
9+
return f"{self.name} is {self.age} years old"
10+
11+
def speak(self, sound):
12+
return f"{self.name} says {sound}"

python-oop/dogbreeds.py

+25
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
class Dog:
2+
species = "Canis familiaris"
3+
4+
def __init__(self, name, age):
5+
self.name = name
6+
self.age = age
7+
8+
def __str__(self):
9+
return f"{self.name} is {self.age} years old"
10+
11+
def speak(self, sound):
12+
return f"{self.name} barks: {sound}"
13+
14+
15+
class JackRussellTerrier(Dog):
16+
def speak(self, sound="Arf"):
17+
return super().speak(sound)
18+
19+
20+
class Dachshund(Dog):
21+
pass
22+
23+
24+
class Bulldog(Dog):
25+
pass

python-oop/retriever.py

+17
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
class Dog:
2+
species = "Canis familiaris"
3+
4+
def __init__(self, name, age):
5+
self.name = name
6+
self.age = age
7+
8+
def __str__(self):
9+
return f"{self.name} is {self.age} years old"
10+
11+
def speak(self, sound):
12+
return f"{self.name} says {sound}"
13+
14+
15+
class GoldenRetriever(Dog):
16+
def speak(self, sound="Bark"):
17+
return super().speak(sound)

python-oop/starfleet_list.py

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
# Starfleet employees as a list
2+
3+
kirk = ["James Kirk", 34, "Captain", 2265]
4+
spock = ["Spock", 35, "Science Officer", 2254]
5+
mccoy = ["Leonard McCoy", "Chief Medical Officer", 2266]

python-oop/starfleet_objects.py

+14
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
# Starfleet employees as objects
2+
3+
4+
class Employee:
5+
def __init__(self, name, age, position, year_started):
6+
self.name = name
7+
self.age = age
8+
self.position = position
9+
self.year_started = year_started
10+
11+
12+
kirk = Employee("James Kirk", 34, "Captain", 2265)
13+
spock = Employee("Spock", 35, "Science Officer", 2254)
14+
mccoy = Employee("Leonard McCoy", 137, "Chief Medical Officer", 2266)

0 commit comments

Comments
 (0)