75 lines
		
	
	
		
			3.7 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
		
		
			
		
	
	
			75 lines
		
	
	
		
			3.7 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
|   | --- | |||
|  | title: Converting Integer to String in Python | |||
|  | localeTitle: Преобразование целочисленного в String в Python | |||
|  | --- | |||
|  | ## Преобразование целочисленного в String в Python
 | |||
|  | 
 | |||
|  | В отличие от многих других языков, Python не подразумевает, что цепочки целых чисел (или плавающие) не привязаны к строкам при конкатенации строками. К счастью, у Python есть удобная встроенная функция `str()` которая преобразует аргумент, переданный в строковый формат. | |||
|  | 
 | |||
|  | #### Неправильный путь
 | |||
|  | 
 | |||
|  | Программисты, поступающие с других языков, могут попытаться выполнить следующую конкатенацию строк, которая вызывает ошибку: | |||
|  | 
 | |||
|  | ```py | |||
|  | age = 18  | |||
|  |   | |||
|  |  string = "Hello, I am " + age + " years old"  | |||
|  | ``` | |||
|  | 
 | |||
|  | [Выполнить код на repl.it](https://repl.it/JyYH/0) | |||
|  | 
 | |||
|  | Ошибка, которая появляется | |||
|  | ``` | |||
|  | Traceback (most recent call last):  | |||
|  |   File "python", line 3, in <module>  | |||
|  |  TypeError: must be str, not int  | |||
|  | ``` | |||
|  | 
 | |||
|  | `TypeError: must be str, not int` указывает, что целое число сначала должно быть преобразовано в строку, которая будет конкатенирована. | |||
|  | 
 | |||
|  | #### Правильный путь
 | |||
|  | 
 | |||
|  | Пример простой конкатенации: | |||
|  | 
 | |||
|  | ```py | |||
|  | age = 18  | |||
|  |   | |||
|  |  print("Hello, I am " + str(age) + " years old")  | |||
|  |   | |||
|  |  # Output  | |||
|  |  # Hello, I am 18 years old  | |||
|  | ``` | |||
|  | 
 | |||
|  | [Выполнить код на repl.it](https://repl.it/Jz8Q/0) | |||
|  | 
 | |||
|  | Печать `1 2 3 4 5 6 7 8 9 10` с использованием одной строки | |||
|  | 
 | |||
|  | ```py | |||
|  | result = ""  | |||
|  |   | |||
|  |  for i in range(1, 11):  | |||
|  |     result += str(i) + " "  | |||
|  |   | |||
|  |  print(result)  | |||
|  |   | |||
|  |  # Output  | |||
|  |  # 1 2 3 4 5 6 7 8 9 10  | |||
|  | ``` | |||
|  | 
 | |||
|  | [Выполнить код на repl.it](https://repl.it/KBLB/0) | |||
|  | 
 | |||
|  | #### Объяснение строки за строкой приведенного выше кода
 | |||
|  | 
 | |||
|  | 1.  Прежде всего переменный «результат» присваивается пустой строке. | |||
|  | 2.  Для цикла используется для перебора списка чисел. | |||
|  | 3.  Этот список чисел генерируется с использованием функции диапазона. | |||
|  | 4.  поэтому диапазон (1,11) будет генерировать список чисел от 1 до 10. | |||
|  | 5.  На каждой итерации цикла эта переменная «i» будет принимать значения от 1 до 10. | |||
|  | 6.  На первой итерации, когда переменная i = 1, тогда переменная \[result = result + str (i) + "(пробел)"\], str (i) преобразует значение «i», которое является целым значением в строковое значение. | |||
|  | 7.  Так как i = 1, то на первой итерации окончательно результат = 1. | |||
|  | 8.  И тот же процесс продолжается до i = 10 и, наконец, после последнего результата итерации = 1 2 3 4 5 6 7 8 9 10. | |||
|  | 9.  Поэтому, когда мы окончательно печатаем результат после цикла for, вывод на консоли «1 2 3 4 5 6 7 8 9 10». | |||
|  | 
 | |||
|  | #### Дополнительная информация:
 | |||
|  | 
 | |||
|  | [Официальная документация на Python для `str()`](https://docs.python.org/3/library/stdtypes.html#str) |