diff --git a/what-does-arrow-mean-in-python/README.md b/what-does-arrow-mean-in-python/README.md new file mode 100644 index 0000000000..39354f47dc --- /dev/null +++ b/what-does-arrow-mean-in-python/README.md @@ -0,0 +1 @@ +This folder provides the code examples for the Real Python tutorial [What Does -> Mean in Python Function Definitions?](https://realpython.com/what-does-mean-in-python-function-definitions/) diff --git a/what-does-arrow-mean-in-python/dictionary_return_type_example.py b/what-does-arrow-mean-in-python/dictionary_return_type_example.py new file mode 100644 index 0000000000..d0bc7aace1 --- /dev/null +++ b/what-does-arrow-mean-in-python/dictionary_return_type_example.py @@ -0,0 +1,13 @@ +game_stock = {"Dragon Quest": 5, "Final Fantasy": 1, "Age of Empires": 5} + + +def get_highest_stock_games(game_stock: dict[str, int]) -> dict[str, int]: + max_quantity = max(game_stock.values()) + return { + game: quantity + for game, quantity in game_stock.items() + if quantity == max_quantity + } + + +print(f"Games with the highest stock: {get_highest_stock_games(game_stock)}") diff --git a/what-does-arrow-mean-in-python/dynamic_variable_example.py b/what-does-arrow-mean-in-python/dynamic_variable_example.py new file mode 100644 index 0000000000..0ecdcd2297 --- /dev/null +++ b/what-does-arrow-mean-in-python/dynamic_variable_example.py @@ -0,0 +1,2 @@ +my_number = 32 +my_number = "32" diff --git a/what-does-arrow-mean-in-python/game_class_example.py b/what-does-arrow-mean-in-python/game_class_example.py new file mode 100644 index 0000000000..dc1b11210d --- /dev/null +++ b/what-does-arrow-mean-in-python/game_class_example.py @@ -0,0 +1,14 @@ +class Game: + def __init__(self, name: str, genre: str, price: float) -> None: + self.name = name + self.genre = genre + self.price = price + + def get_name(self) -> str: + return self.name + + def get_genre(self) -> str: + return self.genre + + def get_price(self) -> float: + return self.price diff --git a/what-does-arrow-mean-in-python/mismatched_return_type_example.py b/what-does-arrow-mean-in-python/mismatched_return_type_example.py new file mode 100644 index 0000000000..8c99bb7c3b --- /dev/null +++ b/what-does-arrow-mean-in-python/mismatched_return_type_example.py @@ -0,0 +1,6 @@ +def get_number_of_titles(titles: list[str]) -> str: + return len(titles) + + +games = ["Dragon Quest", "Final Fantasy", "Age of Empires"] +print(f"Number of titles: {get_number_of_titles(games)}") diff --git a/what-does-arrow-mean-in-python/none_return_type_hint_example.py b/what-does-arrow-mean-in-python/none_return_type_hint_example.py new file mode 100644 index 0000000000..3bc8164047 --- /dev/null +++ b/what-does-arrow-mean-in-python/none_return_type_hint_example.py @@ -0,0 +1,9 @@ +def find_keyword_in_titles(titles: list[str], keyword: str) -> None: + print(f"Titles that contain the keyword {keyword}") + for game_title in titles: + if keyword in game_title: + print(f"{game_title}") + + +games = ["Dragon Quest", "Final Fantasy", "Age of Empires"] +find_keyword_in_titles(games, "Final") diff --git a/what-does-arrow-mean-in-python/simple_type_hint_example.py b/what-does-arrow-mean-in-python/simple_type_hint_example.py new file mode 100644 index 0000000000..412a7cd028 --- /dev/null +++ b/what-does-arrow-mean-in-python/simple_type_hint_example.py @@ -0,0 +1,6 @@ +def get_number_of_titles(titles: list[str]) -> int: + return len(titles) + + +games = ["Dragon Quest", "Final Fantasy", "Age of Empires"] +print(f"Number of titles: {get_number_of_titles(games)}") diff --git a/what-does-arrow-mean-in-python/str_return_type_hint_example.py b/what-does-arrow-mean-in-python/str_return_type_hint_example.py new file mode 100644 index 0000000000..0d7a07a848 --- /dev/null +++ b/what-does-arrow-mean-in-python/str_return_type_hint_example.py @@ -0,0 +1,9 @@ +import random + + +def get_game_recommendation(titles: list[str]) -> str: + return random.choice(titles) + + +games = ["Dragon Quest", "Final Fantasy", "Age of Empires"] +print(f"Random recommendation: {get_game_recommendation(games)}")