W Pythonie powiedz, że masz
s = "string"
i = 0
print s+i
wystąpi błąd, więc piszesz
print s+str(i)
aby nie otrzymać błędu.
Myślę, że jest to dość niezgrabny sposób obsługi łączenia int i string. Nawet Java nie potrzebuje jawnego rzutowania na String, aby wykonać tego rodzaju konkatenację. Czy jest lepszy sposób na wykonanie tego rodzaju konkatenacji, tj. Bez jawnego rzutowania w Pythonie?
python
concatenation
string-concatenation
zakres specjalny
źródło
źródło
"1" + 1
,2
czy"11"
i dlaczego?s+str(i)
i masz rację!Odpowiedzi:
Nowoczesne formatowanie ciągów:
źródło
str.format
Metodę wprowadzono Pythonie 3,0 i przeniesione do Python 2,6 , a następnie (patrz stackoverflow.com/a/792745/4648642 )Brak formatowania ciągów:
źródło
print()
funkcji v3 i ustawisz niektóre z jej parametrów.Formatowanie napisów przy użyciu metody nowego stylu
.format()
(z domyślnymi wartościami .format () ):Lub starsza, ale „wciąż trzymająca się” -
%
formatowanie:W obu powyższych przykładach nie ma spacji między dwoma połączonymi elementami. Jeśli potrzebna jest przestrzeń, można ją po prostu dodać w ciągach formatu.
Zapewniają one dużą kontrolę i elastyczność w zakresie łączenia elementów, przestrzeni między nimi itp. Aby uzyskać szczegółowe informacje na temat specyfikacji formatu, zobacz to .
źródło
Python jest interesującym językiem, ponieważ podczas gdy zazwyczaj istnieje jeden (lub dwa) „oczywiste” sposoby wykonania danego zadania, elastyczność nadal istnieje.
Powyższy fragment kodu jest napisany w składni Python3, ale nawiasy po print były zawsze dozwolone (opcjonalnie), dopóki wersja 3 nie uczyniła ich obowiązkowymi.
Mam nadzieję że to pomoże.
Caitlin
źródło
format () może służyć do łączenia ciągów znaków i liczb całkowitych
źródło
jeśli chcesz tylko wydrukować, możesz to zrobić:
źródło
w Pythonie 3.6 i nowszych można go sformatować tak:
Lub tylko:
źródło