class Developer:
def __init__(self):
self.name = "Peter"
self.last_name = "Schwips"
self.city = "Berlin"
self.country = "Germany"
self.languages_spoken = ["German", "English"]
self.interests = ["Python", "Reverse Engineering", "Web Automation"]
def say_hi(self):
print(
"Thanks for coming by! Feel free to reach out to me. "
"I am always looking for interesting projects to work on "
"and ideas to improve my repos."
)If you are contributing to any of my projects you might have noticed that I use type hints quite often. I think that they are a great way of combining Python's dynamically typed nature with the advantages of statically typed languages (given that you are using a type checker). In addition I always try to make my code as easy to understand as possible by adding docstrings and explanatory comments.
Here are some design principles I try to follow:
The book that made me to dive deeper into the topic was Robust Python (Patrick Viafore).



