3: Komentarze i Cudzysłowy

Program komputerowy wygląda jak język kodowania, który jest konieczny, aby komputer dokładnie zrozumiał, co twoje komendy znaczą. Ale, jako język kodowy, w sposób istotny utrudnia ludziom czytanie go. Aby zrekompensować to, możesz pisać w programie dodatkowe notatki dla siebie, a które komputer zignoruje. Notatki te nazywane są komentarzami.

W Pythonie każda linia instrukcji zawierająca symbol # (ang. pound sign lub hash, pl. kratka, krzyżyk, płotek) oznacza początek komentarza,reszta linii zostanie zignorowana po uruchomieniu programu. Oto przykład.

Przykład
Efekt zastosowania komentarza.

Ponieważ druga linia zaczyna się znakiem #, Python całkowicie zignorował tę linię i jak widać, liczba 2 nie została wydrukowana.
Często komentarze stosujemy dla:

  • wyjaśnienia części programu, dla siebie lub innych osób, które będą go czytać później;
  • zrobienia notatek "co jest do zrobienia", podczas pisania długiego programu;
  • tymczasowego wyłączenia ("zakomentować") linii programu bez całkowitego jej usunięcia, dzięki czemu łatwiej później jest ją włączyć z powrotem.

Oto ćwiczenie ilustrujące to. Jeśli edytujesz kod i chcesz przywrócić jego domyślną wersję, wybierz Reset kodu do domyślnego.

Zadanie na kodowanie : Krytycznie Popatrz
Debuguj ten program, który miał obliczać liczbę sekund w ciągu tygodnia. Wskazówka

Łańcuchy

Łańcuchami są sekwencje liter, cyfr, fragmenty tekstu. Dla wyróżnienia są otoczone dwoma znakami cudzysłowami: na przykład w lekcji 0 część pierwszego programu "Hello, World!" była łańcuchem. Jeśli pojawi się w nim znak kratki #, nie zostanie on potraktowany jako rozpoczynający się komentarz:

Przykład
Łańcuch zawiera znak kratki #.

Zachowanie to jest spowodowane tym, że część wewnątrz znaków "", jest łańcuchem znaków, co oznacza, że będzie dosłownie skopiowana i nie będzie interpretowana jako polecenie. Podobnie, polecenie print("3 + 4") nie drukuje liczby 7, tylko łańcuch 3 + 4.

Sekwencje Ucieczki

A co jeśli chcesz umieścić znak " wewnątrz łańcucha? Jeśli spróbujesz wykonać wydruk print("I said "Wow!" to him"), to to przyczyną błędu: problem polega na tym, że Python widzi tylko łańcuch "I said " a potem dopiero Wow!, czego nie uważa już za łańcuch. To nie jest efekt jaki chcieliśmy osiągnąć!

Python ma dwa proste sposoby umieszczania symboli cytatów w łańcuchach

  • Można rozpocząć i zakończyć łańcuch pojedynczym cudzysłowem (apostrofem), np. 'blah blah'. Następnie można podać podwójne cudzysłowy, np. 'I said "Wow!" to him.'
  • Można umieścić znak backslash (ukośnik wsteczny, ukośnik lewy) przed cytatem, a następnie cudzysłów (np. \" lub \'). Nazywamy ten zestaw znaków sekwencją ucieczki. Python usunie backslash, a następnie poda łańcuch w cudzysłowach. Oto przykład:
    Przykład
    Backslashe osłaniają cudzysłowy, ale nie są drukowane.

Ponadto, backslahe (\) w sekwencji ucieczki jest specjalnym znakiem. Zatem, aby zawrzeć ukośnik w łańcuchu, trzeba z nim "uciec" za pomocą drugiego ukośnika, innymi słowy, musisz napisać \\ w łańcuchu znaków.

Zadanie wielokrotnego wyboru: Znaki ucieczki
Co wyświetli poniższy program?
print("Backslashes \\ and single quotes \' and double quotes \" and pound signs # are awesome!")
Bezbłędnie!

Zadanie na kodowanie : Wielka ucieczka
Napisz program, który drukuje to co poniżej:

A double-quote's escaped using a backslash, e.g. \"
Uwaga: istnieje więcej niż jeden sposób na zrobienie tego zadania (jak zwykle)! Na przykład można umieścić cały ciąg między pojedynczymi cudzysłowami lub w podwójnych cudzysłowach. W obu przypadkach nie jest potrzebna ucieczka. Aby zdobyć lepsze doświadczenie, rozwiąż ten problem jedną, a następnie drugą metodą. Czy możesz rozwiązać ten problem jeszcze inną, trzecią metodą?Podpowiedź

Istnieją inne sekwencje ucieczki, takie jak "nowa linia", której nie omówimy teraz. Na razie jesteś gotowy, aby przejść do następnej lekcji!