Старая школа способ форматирования строк str.format ()
Питон string .format ()
Метод был введен в версии 2.6. Ниже приведен пример, который использует .format ()
Метод форматирования строк.
#Example 1 (simple) name = "Sweta Shaw" print("My name is {}".format(name)) #output My name is Sweta Shaw
Приведенный выше код выглядит аккуратно, но реальная борьба происходит, когда увеличивается количество переменных.
#Example 2 (complex) first_name = "Sweta" last_name = "Shaw" profession = "software developer" platform = "hashnode" print("Hi! I am {first_name} {last_name}, a {profession} by profession currently writing this article on {platform}.".format(first_name= first_name, last_name =last_name , profession = profession, platform = platform)) # output Hi! I am Sweta Shaw, a software developer by profession currently writing this article on hashnode.
Вот где F-String Литералы приходят на помощь. Он был введен в Python 3.6
A Форматированный струнный буквальный * или * *F-String * это строковая буквация, которая префикс с фланг
или F
и вьющиеся скобки, содержащие выражения, которые будут заменены их значениями.
# Example 1 using f-string name = "Sweta" print(f"My name is {name}") # output My name is Sweta Shaw
Давайте посмотрим, как мы можем написать сложный пример 2, используя F-строки:
# Example 2 using f-string first_name = "Sweta" last_name = "Shaw" profession = "software developer" platform = "hashnode" print(f"Hi! I am {first_name} {last_name}, a {profession} by profession currently writing this article on {platform}.") # output Hi! I am Sweta Shaw, a software developer by profession currently writing this article on hashnode.
Мы также можем выполнять арифметические операции, используя литералы F-строки.
f"{2 * 37}" # output '74'
a = 20 b = 50 print(f"The smaller number between {a} and {b} is {a if a < b else b}") # output The smaller number between 20 and 50 is 20
Печать списка
authors = [("id", "author", "book"), ("101", "Changing India", "Dr. Manmohan Singh"), ("102","War and Peace", "Leo Tolstoy "), ("103", "Emma", "Jane Austen")] for id, author,book in authors: print(f"{id} {author} {book}") # output id author book 101 Changing India Dr. Manmohan Singh 102 War and Peace Leo Tolstoy 103 Emma Jane Austen
Украсить этот выход, используя F-String Cadent
Это делается путем упоминания количества пространств, разыгрываемых каждой переменной. Здесь «ID» было назначено по 5 мест и автора и книги по 20 мест каждый.
authors = [("id", "author", "book"), ("101", "Changing India", "Dr. Manmohan Singh"), ("102","War and Peace", "Leo Tolstoy "), ("103", "Emma", "Jane Austen")] for id, author,book in authors: print(f"{id:{5}} {author:{20}} {book}") # output: id author book 101 Changing India Dr. Manmohan Singh 102 War and Peace Leo Tolstoy 103 Emma Jane Austen
Вы можете прочитать больше о литералах F-String Здесь
Оригинал: “https://dev.to/sweta_shaw/formatted-string-literals-in-python-6o1”