Podstawy ciągów w języku Python

Ukończone

Chociaż ciągi w języku Python wydają się być proste i proste, istnieje pewna złożoność reguł ciągów, która jest ważna do zrozumienia. Znajomość reguł pomaga uniknąć zaskoczenia zachowaniem ciągów podczas modyfikowania wartości lub formatowania tekstu.

Prosty ciąg

W tym przykładzie dla tej lekcji masz jeden fakt o Księżycu przypisanym do zmiennej, w następujący sposób:

fact = "The Moon has no atmosphere."
print(fact)

Dane wyjściowe pokazują, że tekst został przypisany do zmiennej: The Moon has no atmosphere.

Niezmienność ciągów

W języku Python ciągi są niezmienne. Oznacza to, że nie mogą się zmieniać. Ta właściwość typu ciągu może być zaskakująca, ponieważ język Python nie generuje błędów podczas zmieniania ciągów.

Musisz dodać kolejny fakt (zdanie) do pojedynczego faktu przypisanego do zmiennej. Wydaje się, że dodanie drugiego faktu spowoduje zmianę zmiennej, jak w poniższym przykładzie:

fact = "The Moon has no atmosphere."
fact + "No sound can be heard on the Moon."

Możesz oczekiwać, że dane wyjściowe będą następujące: The Moon has no atmosphere.No sound can be heard on the Moon.

Chociaż może to wyglądać tak, jakby zmodyfikowaliśmy zmienną fact, szybkie sprawdzenie wartości pokazuje, że oryginalna wartość jest niezmieniona:

fact = "The Moon has no atmosphere."
fact + "No sound can be heard on the Moon."
print(fact)

Wyjście: The Moon has no atmosphere.

Sztuczka polega na tym, że należy użyć wartości zwracanej. Podczas dodawania ciągów język Python nie modyfikuje żadnego ciągu, ale zwraca nowy ciąg w wyniku. Aby zachować ten nowy wynik, przypisz go do nowej zmiennej:

fact = "The Moon has no atmosphere."
two_facts = fact + "No sound can be heard on the Moon."
print(two_facts)

Wyjście: The Moon has no atmosphere.No sound can be heard on the Moon.

Operacje na ciągach zawsze generują nowe ciągi w wyniku.

Informacje o korzystaniu z cudzysłowów

Ciągi języka Python można ująć w pojedyncze, podwójne lub potrójne cudzysłów. Chociaż można ich używać zamiennie, najlepiej używać jednego typu spójnie w projekcie. Na przykład następujący ciąg używa podwójnych cudzysłowów:

moon_radius = "The Moon has a radius of 1,080 miles."

Jeśli jednak ciąg zawiera wyrazy, liczby lub znaki specjalne (podciąg), które są również ujęte w znaki cudzysłowu, należy użyć innego stylu. Jeśli na przykład podciąg używa podwójnych cudzysłowów, należy ująć cały ciąg w pojedynczy cudzysłów, jak pokazano poniżej:

'The "near side" is the part of the Moon that faces the Earth.'

Podobnie, jeśli istnieją pojedyncze cudzysłowy (lub apostrof, jak w poniższym przykładzie Księżyca) w dowolnym miejscu w ciągu, należy ująć cały ciąg w podwójny cudzysłów:

"We only see about 60% of the Moon's surface."

Błąd alternatywnego pojedynczego i podwójnego cudzysłowu może spowodować, że interpreter języka Python zgłosi błąd składniowy, jak pokazano poniżej:

'We only see about 60% of the Moon's surface.'
  File "<stdin>", line 1
    'We only see about 60% of the Moon's surface.'
                                       ^
SyntaxError: invalid syntax

Gdy tekst zawiera kombinację pojedynczych i podwójnych cudzysłowów, można użyć potrójnego cudzysłowu, aby zapobiec problemom z interpreterem:

"""We only see about 60% of the Moon's surface, this is known as the "near side"."""

Tekst wielowierszowy

Istnieje kilka różnych sposobów definiowania wielu wierszy tekstu jako jednej zmiennej. Najbardziej typowe sposoby to:

  • Użyj znaku nowego wiersza (\n).
  • Użyj potrójnych cudzysłowów (""").

Znaki nowego wiersza oddzielają tekst na wiele wierszy podczas drukowania danych wyjściowych:

multiline = "Facts about the Moon:\n There is no atmosphere.\n There is no sound."
print(multiline)
Facts about the Moon:
 There is no atmosphere.
 There is no sound.

Ten sam wynik można osiągnąć przy użyciu potrójnych cudzysłowów:

multiline = """Facts about the Moon:
 There is no atmosphere. 
 There is no sound."""
print(multiline)