R1FNRGOCUA9ZN
Wąż pije kawę w kubku z napisem Witaj świecie

PYI_RY_W13_M07 Podstawowe operacje na tekstach 

Obraz wygenerowany przez sztuczną inteligencję Canva.ai
Źródło: domena publiczna.

Tworzenie łańcuchów znaków f‑string

W poprzednich e‑materiałach dowiedzieliśmy się, w jaki sposób wyświetlać napisy lub inne obiekty na ekranie. Korzystaliśmy przy tym z funkcji print() oraz z metody format().

Język Python, począwszy od wersji 3.5, oferuje dodatkowy mechanizm formatowania o nazwie f‑string. Jest to ułatwiająca tworzenie kodu modyfikacja sposobu wywołania funkcji print(). Oto przykład jej zastosowania:

Linia 1. zmienna znak równości 123. Linia 2. print otwórz nawias okrągły f apostrof Napis na ekran z otwórz nawias klamrowy zmienna zamknij nawias klamrowy do podstawienia kropka apostrof zamknij nawias okrągły. Linia 4. Napis na ekran z 123 do podstawienia kropka.

Jak widzimy, przed apostrofem lub cudzysłowem otwierającym ciąg znaków do wyświetlenia należy wpisać literę f. W nawiasach klamrowych wewnątrz ciągu trzeba natomiast podać nazwę obiektu, który zostanie wstawiony w to miejsce.

1
Przykład 1

Python dba o konwersję typu obiektów w ramach f‑string (nie musimy zamieniać typów int czy float na str). Sprawdźmy nowy sposób wywoływania funkcji print():

Linia 1. from math import sqrt. Linia 2. rok znak równości 2019. Linia 3. urodzony znak równości 1974. Linia 4. lat znak równości rok minus urodzony. Linia 5. pelnoletni znak równości lat minus 18. Linia 6. pi znak równości 3 kropka 141592. Linia 7. r znak równości 19 kropka 53. Linia 8. obwod znak równości 2 asterysk pi asterysk r. Linia 9. bok1 znak równości 20. Linia 10. bok2 znak równości 14 kropka 68. Linia 11. przekatna znak równości sqrt otwórz nawias okrągły bok1 asterysk asterysk 2 plus bok2 asterysk asterysk 2 zamknij nawias okrągły. Linia 12. print otwórz nawias okrągły cudzysłów Oto nasze obliczenia dwukropek cudzysłów zamknij nawias okrągły. Linia 13. print otwórz nawias okrągły f cudzysłów Mamy rok otwórz nawias klamrowy rok zamknij nawias klamrowy kropka Osoba urodzona w roku otwórz nawias klamrowy urodzony zamknij nawias klamrowy ma otwórz nawias klamrowy lat zamknij nawias klamrowy lat kropka cudzysłów zamknij nawias okrągły. Linia 14. print otwórz nawias okrągły f cudzysłów Jest pełnoletnia od otwórz nawias klamrowy pelnoletni zamknij nawias klamrowy lat kropka cudzysłów zamknij nawias okrągły. Linia 15. print otwórz nawias okrągły cudzysłów minus minus minus minus minus minus minus minus minus minus minus minus minus minus minus minus minus minus minus minus minus minus minus minus minus minus minus minus minus minus minus minus minus minus minus minus minus minus minus minus minus minus minus minus minus cudzysłów zamknij nawias okrągły. Linia 16. print otwórz nawias okrągły f cudzysłów Jest okrąg o promieniu otwórz nawias klamrowy r zamknij nawias klamrowy minus jego obwód wynosi otwórz nawias klamrowy obwod zamknij nawias klamrowy kropka cudzysłów zamknij nawias okrągły. Linia 17. print otwórz nawias okrągły f cudzysłów Dany jest trójkąt prostokątny o bokach a znak równości otwórz nawias klamrowy bok1 zamknij nawias klamrowy i b znak równości otwórz nawias klamrowy bok2 zamknij nawias klamrowy kropka cudzysłów zamknij nawias okrągły. Linia 18. print otwórz nawias okrągły f cudzysłów Długość boku c wg wzoru Pitagorasa wynosi otwórz nawias klamrowy przekatna zamknij nawias klamrowy kropka cudzysłów zamknij nawias okrągły. Linia 20. Oto nasze obliczenia dwukropek. Linia 21. Mamy rok 2019 kropka Osoba urodzona w roku 1974 ma 45 lat kropka. Linia 22. Jest pełnoletnia od 27 lat kropka. Linia 23. minus minus minus minus minus minus minus minus minus minus minus minus minus minus minus minus minus minus minus minus minus minus minus minus minus minus minus minus minus minus minus minus minus minus minus minus minus minus minus minus minus minus minus minus minus. Linia 24. Jest okrąg o promieniu 19 kropka 53 minus jego obwód wynosi 122 kropka 71058352000001 kropka. Linia 25. Dany jest trójkąt prostokątny o bokach a znak równości 20 i b znak równości 14 kropka 68 kropka. Linia 26. Długość boku c wg wzoru Pitagorasa wynosi 24 kropka 80932082907551 kropka.

Użycie przedstawionego sposobu zapisu sprawia, że programiście łatwo jest przeanalizować kod programu.

1
Polecenie 1

Zdefiniuj funkcję prostokat(bok_a, bok_b), która obliczy obwód, pole powierzchni oraz długość przekątnej prostokąta o podanych wymiarach, a następnie poda wszystkie te informacje, wykorzystując formatowanie f‑string.

Dla zainteresowanych

Informacje na temat formatowania z zastosowaniem mechanizmu f‑string znajdziemy w dokumencie [PEP‑498].