24 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			24 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
---
 | 
						||
title: Python Defining Functions
 | 
						||
localeTitle: Функции определения Python
 | 
						||
---
 | 
						||
[Документы Python](https://docs.python.org/3/tutorial/controlflow.html#defining-functions)
 | 
						||
 | 
						||
Мы можем создать функцию, которая записывает ряд Фибоначчи в произвольную границу:
 | 
						||
```
 | 
						||
>>> def fib(n):    # write Fibonacci series up to n 
 | 
						||
 ...     """Print a Fibonacci series up to n.""" 
 | 
						||
 ...     a, b = 0, 1 
 | 
						||
 ...     while a < n: 
 | 
						||
 ...         print(a, end=' ') 
 | 
						||
 ...         a, b = b, a+b 
 | 
						||
 ...     print() 
 | 
						||
 ... 
 | 
						||
 >>> # Now call the function we just defined: 
 | 
						||
 ... fib(2000) 
 | 
						||
 0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 
 | 
						||
```
 | 
						||
 | 
						||
Ключевое слово [`def`](https://docs.python.org/3/reference/compound_stmts.html#def) вводит определение функции. За ним должно следовать имя функции и список формальных параметров в скобках. Операторы, которые образуют тело функции, начинаются со следующей строки и должны быть отступом.
 | 
						||
 | 
						||
Первый оператор тела функции может быть произвольным строковым литералом; этот строковый литерал является строкой документации функции или [docstring](https://www.python.org/dev/peps/pep-0257/) (больше о docstrings можно найти в разделе «Строки документации»). Некоторые инструменты используют docstrings для автоматического создания онлайн-или печатной документации или для интерактивного просмотра пользователем кода. Хорошая практика заключается в том, чтобы включить в текст код, который вы пишете, поэтому попробуйте сделать его привычкой. |