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 для автоматического создания онлайн-или печатной документации или для интерактивного просмотра пользователем кода. Хорошая практика заключается в том, чтобы включить в текст код, который вы пишете, поэтому попробуйте сделать его привычкой.
							 |