Skip to content

FavioVazquez/harry_potter_universe

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

62 Commits
 
 
 
 
 
 

Repository files navigation

Awesome Python Features Explained Using Harry Potter

As outlined in my blog post, I decided to take on a new habit using a technique I found on the 'get disciplined' subreddit.

As one of my new habits I chose: "Code for 15 minutes every day". As part of the habit I've started creating a series of blog posts on important and awesome Python features, including object oriented programming, properties, function annotations, duck typing, etc.

Since I was bored by the usual tutorial examples, I looked for a topic that would make it fun to study and implement the concepts. And since I absolutely love Harry Potter, I started creating a whole Harry Potter universe around the topics. So if you like Harry Potter and want to improve your Python knowledge and skills (and maybe also your Harry Potter knowledge), get right into it!

A logbook of what I worked on each day can be found on my website.

Start date: 07/23/2018

Day Topics Blog post with explanations Code for the day
1 Intro to object oriented programming, classes, inheritance Day 1 Code day 1
2 Class methods, instance methods, static methods, using class methods as alternative constructors Day 2 Code day 2
3 Function annotations Day 3 Code day 3
4 To-string conversion, __repr__, __str__ Day 4 Code day 4
5 Decorators Day 5 No new code added
6 Properties, @property and property(), setters, getters Day 6 Code day 6
7 Underscore patterns for variable naming, _variable, __variable, __variable__, etc. Day 7 No new code added
8 New methods and classes added to the HP universe Day 8 Code day 8
9 Duck typing, EAFP principle Day 9 Code day 9
10 & 11 Namedtuples Day 10 & 11 Code day 10 & 11
12 - 15 Abstract Base Classes Day 12 to 15 Code day 12 to 15

About

Awesome Python features explained using the world of Harry Potter

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%