Docstring i podpowiedzi typów
Zespół dynamiki lotu napisał fuel_needed(), a teraz inne zespoły chcą jej używać. Czy rezerwa to procent, czy ułamek? Czy działa z pełnymi sekundami? Co zwraca? Nikt nie chce czytać ciała każdej funkcji, żeby się tego dowiedzieć.
Udokumentuj funkcję tam, gdzie znajdą to Python, edytory i inni programiści.
Ukończ etap 1, aby odblokować ten etap.
Dodaj docstring do fuel_needed(): napis w potrójnych cudzysłowach jako pierwszą linię w funkcji, mówiący, co zwraca i co oznacza rezerwa. Wynik się nie zmienia:
Odpalenie 1: 330.0 kg Odpalenie 2: 135.0 kg
Na przykład:
"""Paliwo w kg na odpalenie silnika, razem z rezerwą.
Rezerwa to część paliwa samego odpalenia: 0.1 dodaje 10%.
"""Test odczytuje fuel_needed.__doc__, więc napis musi stać zaraz po linii def, przed return.
Ukończ etap 1, aby odblokować ten etap.
Dodaj podpowiedzi typów: każdy parametr to float, wartość zwracana też. Zachowaj domyślną rezerwę i docstring:
def fuel_needed(burn_time_s: float, flow_rate_kg_s: float, reserve: float = 0.1) -> float:
Liczby całkowite, takie jak 120, nadal można przekazywać: int jest akceptowany wszędzie, gdzie oczekiwany jest float.
Podpowiedzi
Dokumentowanie funkcji
# Dokumentowanie funkcji docstringami
def calculate_travel_time(distance, speed):
"""
Oblicza czas podróży kosmicznej.
Args:
distance: Odległość w kilometrach
speed: Prędkość w km/h
Returns:
Czas podróży w godzinach
"""
return distance / speed
# Użycie funkcji
time = calculate_travel_time(384400, 1000)
print(f"Czas do Księżyca: {time:.0f} godzin")
# Dostęp do dokumentacji
print("\nDokumentacja funkcji:")
print(calculate_travel_time.__doc__)
Oddziel argumenty przecinkami. Każde uruchomienie przekazuje je jako sys.argv[1:].