Add identify-cipher-deco #3
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
Keep on truckin' through Chapter 4 with a letter substitution/transposition cipher identifier implemented using a decorator.
Description
Recently shown an interesting use of decorators, so I decided to tinker with them and see how they can be implemented by refactoring identify_cipher.py to use them.
As I mention in the docstrings, Luciano Ramalho's book Fluent Python appropriately calls decorators "syntactic sugar" when they aren't used in classes. The book also references the
wrapt
module's blog on GitHub for a deeper explanation of decorators.The difference between import time and runtime is interesting.
If that wasn't enough, tests and docs included to really emphasize the over-engineering.
I know I said in #1 that a PR seems unnecessary and wasteful; however, I must emphasize that this is one of the most pointless things I have ever made.
Team Notifications
Me, myself, and I