53 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
		
		
			
		
	
	
			53 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| 
								 | 
							
								---
							 | 
						|||
| 
								 | 
							
								title: Python f-strings
							 | 
						|||
| 
								 | 
							
								localeTitle: Python f-strings
							 | 
						|||
| 
								 | 
							
								---
							 | 
						|||
| 
								 | 
							
								# f-строки в Python
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								В версии Python 3.6 был реализован новый метод форматирования строк. Новый метод называется интерполяцией строк Literal (хотя обычно называется f-строкой).
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								Использование f-строки позволяет программисту динамически вставлять переменную в строку в чистом и сжатом виде. В дополнение к вставке переменных в строку эта функция также предоставляет возможность программисту оценивать выражения, присоединяться к содержимому коллекции и даже вызывать функции внутри f-строки.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								Чтобы выполнить эти динамические поведения внутри f-строки, мы обертываем их внутри фигурных скобок внутри строки и добавляем нижний регистр f к началу строки (перед открывающей цитатой.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								### Примеры
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								1.  Динамическая вставка переменной в строку во время выполнения:
							 | 
						|||
| 
								 | 
							
								    
							 | 
						|||
| 
								 | 
							
								    ```python
							 | 
						|||
| 
								 | 
							
								    name = 'Jon Snow' 
							 | 
						|||
| 
								 | 
							
								     greeting = f'Hello! {name}' 
							 | 
						|||
| 
								 | 
							
								     print(greeting) 
							 | 
						|||
| 
								 | 
							
								    
							 | 
						|||
| 
								 | 
							
								    ```
							 | 
						|||
| 
								 | 
							
								    
							 | 
						|||
| 
								 | 
							
								2.  Вычислить выражение в строке: `python val1 = 2 val2 = 3 expr = f'The sum of {val1} + {val2} is {val1 + val2}' print(expr)`
							 | 
						|||
| 
								 | 
							
								    
							 | 
						|||
| 
								 | 
							
								3.  Вызов функции и вставка вывода в строку:
							 | 
						|||
| 
								 | 
							
								    
							 | 
						|||
| 
								 | 
							
								    ```python
							 | 
						|||
| 
								 | 
							
								    def sum(*args): 
							 | 
						|||
| 
								 | 
							
								        result = 0 
							 | 
						|||
| 
								 | 
							
								        for arg in args: 
							 | 
						|||
| 
								 | 
							
								            result += arg 
							 | 
						|||
| 
								 | 
							
								        return result 
							 | 
						|||
| 
								 | 
							
								     
							 | 
						|||
| 
								 | 
							
								     func = f'The sum of 3 + 5 is {sum(3, 5)}' 
							 | 
						|||
| 
								 | 
							
								     print(func) 
							 | 
						|||
| 
								 | 
							
								    
							 | 
						|||
| 
								 | 
							
								    ```
							 | 
						|||
| 
								 | 
							
								    
							 | 
						|||
| 
								 | 
							
								4.  Объединение содержимого коллекции в строку:
							 | 
						|||
| 
								 | 
							
								    
							 | 
						|||
| 
								 | 
							
								    ```python
							 | 
						|||
| 
								 | 
							
								    fruits = ['Apple', 'Banana', 'Pear'] 
							 | 
						|||
| 
								 | 
							
								     
							 | 
						|||
| 
								 | 
							
								     list_str = f'List of fruits: {", ".join(fruits)}' 
							 | 
						|||
| 
								 | 
							
								     print(list_str) 
							 | 
						|||
| 
								 | 
							
								    
							 | 
						|||
| 
								 | 
							
								    ```
							 | 
						|||
| 
								 | 
							
								    
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								### источники
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								https://www.python.org/dev/peps/pep-0498/
							 |