Содержание
- 2. Функции Существует множество встроенных в язык программирования функций. С другой стороны, программист всегда может определять свои
- 3. Функции в Python Функции в Python создаются с помощью инструкции def. Это действие создает объект функции
- 4. Передача параметров в функцию При описании функции после имени в скобках перечисляются параметры функции. Если их
- 5. Определение функции После имени функции ставятся скобки. В приведенном примере они пустые. Это значит, что функция
- 6. Вызов функции Пример вызова функции: countnumbers() В языке Python определение функции должно предшествовать ее вызовам. Это
- 7. Функции придают программе структуру Польза функций не только в возможности многократного вызова одного и того же
- 8. без функций
- 9. с функциями
- 10. Практический смысл Вариант с функциями кажется сложнее, а каждая из трех функций вызывается всего один раз.
- 11. Локальные и глобальные переменные В программировании особое внимание уделяется концепции о локальных и глобальных переменных, а
- 12. Локальные и глобальные переменные Внутри функции можно использовать переменные, объявленные вне этой функции def f(): print(a)
- 13. Глобальные переменные Здесь переменной a присваивается значение 1, и функция f() печатает это значение, несмотря на
- 14. Локальные переменные Но если инициализировать какую-то переменную внутри функции, использовать эту переменную вне функции не удастся.
- 15. Рассмотрим программу: Сколько здесь переменных? Какие из них являются глобальными, а какие – локальными?
- 16. Здесь пять переменных. Глобальной является только figure. Переменные a и b из функции rectangle(), а также
- 17. К локальной области относятся тела функций. Если, находясь в глобальной области видимости, мы попытаемся обратиться к
- 18. Эти функции не совсем идеальны. Они должны вычислять площади фигур, но выводить результат на экран им
- 20. Листинг result = 0 def rectangle(): a = float(input("Ширина: ")) b = float(input("Высота: ")) result =
- 21. Проверка (попробуйте сами запустить) Итак, мы ввели в программу глобальную переменную result и инициировали ее нулем.
- 22. Особенности Дело в том, что в Python присвоение значения переменной совмещено с ее объявлением. (Во многих
- 23. global На самом деле можно принудительно обратиться к глобальной переменной. Для этого существует команда global:
- 24. Возврат значения Однако менять значения глобальных переменных в теле функции – плохая практика. В больших программах
- 25. Возврат значений из функции Функции могут передавать какие-либо данные из своих тел в основную ветку программы.
- 26. Пример 3 7 188,4
- 27. Листинг def cylinder(): r = float(input()) h = float(input()) # площадь боковой поверхности цилиндра: side =
- 28. return В данной программе в основную ветку из функции возвращается значение локальной переменной full. Не сама
- 29. return Не обязательно присваивать результат переменной, его можно сразу вывести на экран: ... print(cylinder()) Здесь число,
- 30. return В функции может быть несколько операторов return. Однако всегда выполняется только один из них. Тот,
- 31. return Если попытаться вместо цифр ввести буквы, то сработает return, вложенный в except. Он завершит выполнение
- 32. None None – это ничего, такой объект – "ничто". Он принадлежит классу NoneType. Когда после return
- 33. Возврат нескольких значений В Питоне позволительно возвращать из функции несколько объектов, перечислив их через запятую после
- 34. Возврат нескольких значений Из функции cylinder() возвращаются два значения. Первое из них присваивается переменной sCyl, второе
- 35. Несколько значений Фокус здесь в том, что перечисление значений через запятую (например, 10, 15, 19) создает
- 36. Пример выполнения: 4 3 (75.36, 175.84) На экран выводится кортеж, о чем говорят круглые скобки. Его
- 37. Практика 2 1. Напишите функцию, которая проверяет, содержится ли число в указанном диапазоне (включая верхнюю и
- 38. Практика 2 4. Напишите функцию Python, которая проверяет входную строку, является ли эта строка палиндромом или
- 39. pass pass – это оператор-заглушка, равноценный отсутствию операции. В ходе исполнения данного оператора ничего не происходит,
- 40. pass Мы можем использовать оператор pass для определения пустой функции. def foo(): pass Допустим, нам нужно
- 41. Удалить все четные числа def remove_evens(list_numbers): list_odds = [] for i in list_numbers: if i %
- 42. Параметры В программировании функции могут не только возвращать данные, но также принимать их, что реализуется с
- 43. Аргументы Функция может принимать произвольное количество аргументов или не принимать их вовсе. Также распространены функции с
- 44. Примеры Определим простейшую функцию: def add(x, y): return x + y Инструкция return говорит, что нужно
- 45. Пример Функция может быть любой сложности и возвращать любые объекты (списки, кортежи, и даже функции!): >>>
- 46. Позиционные Значения в позиционных аргументах подставляются согласно позиции имён аргументов: nums = [42, 11, 121, 13,
- 47. Именованные Пусть есть функция, принимающая три аргумента, а затем выводящая их на экран. Python позволяет явно
- 48. Значения по умолчанию В Python у функций бывают параметры, которым уже присвоено значение по-умолчанию. В таком
- 49. Необязательные параметры (параметры по умолчанию) Python позволяет делать отдельные параметры функции необязательными. Если при вызове значение
- 50. Пример >>> def func(a, b, c=2): # c - необязательный аргумент ... return a + b
- 51. Аргументы переменной длины (args, kwargs) Функция также может принимать переменное количество позиционных аргументов, тогда перед именем
- 52. Аргументы Функция может принимать и произвольное число именованных аргументов, тогда перед именем ставится **: >>> def
- 53. Пример Напишем функцию max(), которая принимает два числа и возвращает максимальное из них (на самом деле,
- 54. Пример Теперь можно написать функцию max3(), которая принимает три числа и возвращает максимальное их них. def
- 55. Переменное число аргументов - * Встроенная функция max() в Питоне может принимать переменное число аргументов и
- 56. Передача по значению и по ссылке В Python аргументы могут быть переданы, как по ссылке, так
- 57. По значению Если объект неизменяемый, то он передаётся в функцию по значению. Неизменяемые объекты это: Числовые
- 58. По ссылке Изменяемые объекты передаются в функцию по ссылке. Изменяемыми они называются потому что их содержимое
- 59. Побочные эффекты Будьте внимательны при передаче изменяемых объектов. Одна из частых проблем новичков. В функциональном программировании
- 60. lambda - функции Lambda – выражение – это особая конструкция Python, в результате выполнения которой создается
- 61. Примеры >>> func = lambda x, y: x + y >>> func(1, 2) 3 >>> func('a',
- 62. Примеры >>> func = lambda *args: args >>> func(1, 2, 3, 4) (1, 2, 3, 4)
- 63. Практика 3 5. Напишите функцию f(x), которая возвращает значение следующей функции, определённой на всей числовой прямой:
- 65. Скачать презентацию