79 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
		
		
			
		
	
	
			79 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| 
								 | 
							
								---
							 | 
						|||
| 
								 | 
							
								title: How to Convert Strings into Integers in Python
							 | 
						|||
| 
								 | 
							
								localeTitle: Как преобразовать строки в целые числа в Python
							 | 
						|||
| 
								 | 
							
								---
							 | 
						|||
| 
								 | 
							
								## Как преобразовать строки в целые числа в Python
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								Подобно встроенной функции `str()` , Python также предлагает удобный встроенный элемент, который принимает строковый объект в качестве аргумента и возвращает соответствующий целочисленный объект.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								#### Пример использования:
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								```py
							 | 
						|||
| 
								 | 
							
								# Here age is a string object 
							 | 
						|||
| 
								 | 
							
								 age = "18" 
							 | 
						|||
| 
								 | 
							
								 print(age) 
							 | 
						|||
| 
								 | 
							
								 # Converting string to integer 
							 | 
						|||
| 
								 | 
							
								 int_age = int(age) 
							 | 
						|||
| 
								 | 
							
								 print(int_age) 
							 | 
						|||
| 
								 | 
							
								```
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								Вывод
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								```py
							 | 
						|||
| 
								 | 
							
								18 
							 | 
						|||
| 
								 | 
							
								 18 
							 | 
						|||
| 
								 | 
							
								```
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								Здесь, хотя вывод визуально похож, но вы должны иметь в виду, что первая строка печатает строковый объект, а строка рядом с ним печатает целочисленный объект, который далее проиллюстрирован в следующем примере:
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								```py
							 | 
						|||
| 
								 | 
							
								age = "18" 
							 | 
						|||
| 
								 | 
							
								 print(age+2) 
							 | 
						|||
| 
								 | 
							
								```
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								Вывод:
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								```py
							 | 
						|||
| 
								 | 
							
								Traceback (most recent call last): 
							 | 
						|||
| 
								 | 
							
								  File "<stdin>", line 1, in <module> 
							 | 
						|||
| 
								 | 
							
								 TypeError: cannot concatenate 'str' and 'int' objects 
							 | 
						|||
| 
								 | 
							
								```
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								`The error should make it clear to you that you need to convert the` объект age в целое число, прежде чем добавлять что-то к нему.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								```py
							 | 
						|||
| 
								 | 
							
								age = "18" 
							 | 
						|||
| 
								 | 
							
								 age_int = int(age) 
							 | 
						|||
| 
								 | 
							
								 print(age_int+2) 
							 | 
						|||
| 
								 | 
							
								```
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								Вывод:
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								```py
							 | 
						|||
| 
								 | 
							
								20 
							 | 
						|||
| 
								 | 
							
								```
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								Но вы должны иметь в виду некоторые особые случаи:
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								1.  Плавающая точка (целое число с дробной частью) в качестве аргумента вернет float, округленное до ближайшего целого целого. Например: `print(int(7.9))` напечатает `7` . Также `print(int("7.9"))` приведет к ошибке, поскольку строка является недопустимым аргументом для преобразования в целое число.
							 | 
						|||
| 
								 | 
							
								    
							 | 
						|||
| 
								 | 
							
								    ```py
							 | 
						|||
| 
								 | 
							
								    Traceback (most recent call last): 
							 | 
						|||
| 
								 | 
							
								      File "<stdin>", line 1, in <module> 
							 | 
						|||
| 
								 | 
							
								     ValueError: invalid literal for int() with base 10: '7.9' 
							 | 
						|||
| 
								 | 
							
								    
							 | 
						|||
| 
								 | 
							
								    ```
							 | 
						|||
| 
								 | 
							
								    
							 | 
						|||
| 
								 | 
							
								2.  Также любое целое число в словах, если задано в качестве аргумента, вернет ту же ошибку, что и выше: `print(int("one"))` выдаст ошибку следующим образом:
							 | 
						|||
| 
								 | 
							
								    
							 | 
						|||
| 
								 | 
							
								    ```py
							 | 
						|||
| 
								 | 
							
								    Traceback (most recent call last): 
							 | 
						|||
| 
								 | 
							
								      File "<stdin>", line 1, in <module> 
							 | 
						|||
| 
								 | 
							
								     ValueError: invalid literal for int() with base 10: 'one' 
							 | 
						|||
| 
								 | 
							
								    
							 | 
						|||
| 
								 | 
							
								    ```
							 | 
						|||
| 
								 | 
							
								    
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								#### Дополнительная информация:
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								Официальная документацию для `int()` встроенные можно найти [здесь](https://docs.python.org/3.6/library/functions.html#int)
							 |