logo

Python %s — Formatowanie ciągu

W tym samouczku dowiemy się, jak możemy zaimplementować i używać %s w naszym programie w Pythonie. Nauczymy się także zastosowań %s w łańcuchach.

ciąg jsonobiekt

%s w formacie ciągu w Pythonie

Zasadniczo symbol % jest używany w przypadku dużej różnorodności danych mających wiele typów danych i konfiguracji w Pythonie.

Mówiąc o %s, jest on specjalnie używany do łączenia dwóch lub więcej ciągów znaków w Pythonie. %s pozwalają nam sformatować lub umieścić ciąg znaków lub wartość liczbową w danym ciągu. W prostym języku %s w Pythonie służy do włączenia danego ciągu do innego ciągu. Operator ten automatycznie zapewnia konwersję typu danej wartości na typ danych string.

W miejscu, w którym musimy określić ciąg znaków, umieszczamy operator %. Liczba wartości, które chcemy dołączyć do danego ciągu powinna być równa liczbie operatorów %s, które zostały podane w nawiasach pomiędzy ciągami.

Następujące Pyton kod wyjaśni sposób, w jaki przeprowadzamy formatowanie ciągu za pomocą operatora %s:

Przykład -

 # Define a string value str = 'JavaTpoint!' # using %s to appending string print('Hello Python developers! Welcome to, %s!' % str) 

Wyjście:

 Hello Python developers! Welcome to, JavaTpoint! 

Jak widać w powyższym kodzie, zadeklarowaliśmy zmienną łańcuchową, tj. str, i dołączyliśmy ją wewnątrz podanego ciągu znaków w nawiasie. Dodaliśmy wartość ciągu str za pomocą operatora %s.

Zastosowanie operatora %s w Pythonie

W tej sekcji omówimy wyróżnione zastosowania operatora %s. Dowiemy się także o implementacji operatora %s na wiele sposobów i dowiemy się, jak jest on dla nas pomocny.

Omówimy następujące podejścia do implementacji %s:

  1. Wiele %s w ciągu
  2. Użycie %s do mapowania ciągu
  3. Używanie %s dla listy jako ciągu znaków
  4. Zamów słownik za pomocą %s

1. Wiele %s w ciągu:

Możemy użyć operatora %s, aby dołączyć podaną zmienną łańcuchową do ciągu znaków, umieszczając ją w miejscu, w którym chcemy dodać wartość. Python po prostu doda zmienne łańcuchowe tam, gdzie użyliśmy operatora %s w ciągu. Przeanalizujmy przykład, aby to zrozumieć.

Przykład: spójrz na następujący kod:

 # Declaring multiple string values mkr1 = 'developers' mkr2 = 'JavaTpoint' mkr3 = 'day' # Appending multiple string values inside a single string print('Hello Python %s, Welcome to the %s! We hope you are having a good %s.' % (mkr1, mkr2, mkr3)) 

Wyjście:

 Hello Python developers, Welcome to the JavaTpoint! We hope you are having a good day. 

Wyjaśnienie -

Dodaliśmy wiele zmiennych łańcuchowych (mkr1, mkr2, mkr3) do jednego ciągu i wydrukowaliśmy ciąg. Dołączyliśmy te zmienne, po prostu wielokrotnie używając operatora %s w ciągu znaków.

2. Używanie %s do mapowania ciągu:

Możemy również użyć operatora %s do mapowania ciągu w ramach danego programu. Możemy zmapować wiele zmiennych łańcuchowych na jeden ciąg, po prostu używając wielokrotnie operatorów %s. Jeśli jednak chcemy dodać wiele zmiennych łańcuchowych w jednym ciągu, musimy dopasować liczbę wystąpień %s w ciągu do liczby ciągów, które mają je zastąpić. Musimy dodać tę liczbę ciągów po operatorze %.

Przykład 1

 # Declaring multiple string variables mkr1 = 'Hey' mkr2 = 'Python' mkr3 = 'Developers' mkr4 = 'Welcome' mkr5 = 'to' mkr6 = 'JavaTpoint' # Mapping multiple string variables into a single string ResultantStr = '%s %s %s %s %s %s' % (mkr1, mkr2, mkr3, mkr4, mkr5, mkr6) # Printing result in output print('Resultant mapped string using '%s' operator: ') print(ResultantStr) 

Wyjście:

 Resultant mapped string using '%s' operator: Hey Python Developers Welcome to JavaTpoint 

Uwaga: jeśli jednak po operatorze % nie podamy tej samej liczby zmiennych łańcuchowych, co po operatorze %s, wówczas kod na wyjściu wyświetli błąd TypeError, jak w następującym programie:

Przykład - 2

 # Declaring multiple string variables mkr1 = 'Hey' mkr2 = 'Python' mkr3 = 'Developers' mkr4 = 'Welcome' mkr5 = 'to' mkr6 = 'JavaTpoint' # Not giving equal number of variables after % operator ResultantStr = '%s %s %s %s %s %s' % (mkr1, mkr2, mkr4, mkr5, mkr6) # Printing result in output print('Resultant mapped string using '%s' operator: ') print(ResultantStr) 

Wyjście:

 Traceback (most recent call last): File 'C:UsersManishDownloadscode.py', line 9, in ResultantStr = '%s %s %s %s %s %s' % (mkr1, mkr2, mkr4, mkr5, mkr6) TypeError: not enough arguments for format string 

3. Używanie %s do listy jako ciągu znaków:

Za pomocą operatora %s możemy również zmapować daną zmienną typu listowego na zmienne łańcuchowe, tworząc pojedynczy ciąg znaków. Musimy postępować zgodnie z tym samym zestawem instrukcji, których używamy podczas mapowania zmiennych łańcuchowych. Przeanalizujmy przykład, aby to zrozumieć.

Przykład:

 # Declaring multiple string variables mkr1 = 'Hey' mkr2 = 'Python' mkr3 = 'Developers' mkr4 = 'Welcome' mkr5 = 'to' mkr6 = 'JavaTpoint' # Declaring a list variable also AList = ['Java', 'Python', 'C++', 'HTML', 'JavaScript'] # Mapping string variables with list variable into a single string ResultantStr = '%s %s %s %s %s %s, %s' % (mkr1, mkr2, mkr3, mkr4, mkr5, mkr6, AList) # Printing result in output print('Resultant mapped string with list variable in it: ') print(ResultantStr) 

Wyjście:

 Resultant mapped string with list variable in it: Hey Python Developers Welcome to JavaTpoint, ['Java', 'Python', 'C++', 'HTML', 'JavaScript'] 

4. Zamów słownik za pomocą %s:

Możemy zdefiniować wiele zmiennych łańcuchowych wewnątrz słownikowej zmiennej typu danych. Następnie możemy wywoływać te zmienne łańcuchowe w dowolnej kolejności, po prostu używając operatora %s z nazwą zmiennej łańcuchowej.

Przykład:

 # Declaring a dict variable with multiple string variable in it ADict = {'mkr1': 'at', 'mkr2': 'JavaTpoint', 'mkr3': 'Learning', 'mkr4':'operator', 'mkr5':'concept', 'mkr6': '%s'} # Mapping a string with string variables in dictionary ResultantStr = '%(mkr3)s %(mkr6)s %(mkr4)s %(mkr5)s %(mkr1)s %(mkr2)s' % ADict # Printing result in output print('Resultant mapped string with ordered variable from dictionary: ') print(ResultantStr) 

Wyjście:

 Resultant mapped string with ordered variable from dictionary: Learning %s operator concept at JavaTpoint