Часто ли вы копируете и вставляете свой код для повторного использования в различных разделах программы?
Если это так, вы можете рассмотреть возможность использования functions. Функции - очень мощная возможность языков программирования. Они могут сделать код более эффективным, легким для чтения и элегантным.
Что такое функция?
Функция - это блок кода, который выполняет задачу. Это можно назвать и повторно используется несколько раз. Вы можете передать информацию функции, и она может отправить информацию обратно. Многие языки программирования имеют встроенные функции, к которым вы можете получить доступ в их библиотеке, но вы также можете создавать свои собственные функции.
Изучите основы рекурсии, важного, но немного умопомрачительного инструмента для программистов.
Когда вы вызываете функцию, программа приостанавливает текущую программу и выполняет функцию. Функция будет читаться сверху вниз. После завершения функции программа продолжает работать с того места, где была приостановлена. Если функция вернула значение, это значение будет использоваться там, где функция была вызвана.
Как написать функцию?
Есть много разных способов написания функций. Точный синтаксис будет зависеть от языка, на котором вы программируете. Мы покажем примеры на Python, JavaScript и C ++, чтобы продемонстрировать ряд синтаксиса программирования.
Связанный: Почему языки программирования не могут существовать без функций
Пустые функции
Первый тип функций, который мы рассмотрим, - это функция void. Это просто означает, что функция не возвращает значение. Функции аннулирования используются для выполнения набора инструкций. В этих примерах написанная нами функция называется приветФункция. Назначение функции - вывести «Hello World».
СОВЕТ: дайте функциям имена, объясняющие, что они делают. По мере усложнения программы будет легче управлять функциями и читать код.
Python
def helloFunction ():
print ("Привет, мир")
helloFunction ()
Ключевое слово def используется в Python для определения и создания функции. Далее следует имя функции. Инструкции в функции следуют на следующей строке после двоеточия. Пробелы имеют значение в Python, поэтому обязательно сделайте отступ для всего кода, который вы хотите, чтобы ваша функция запускалась. В приведенном выше примере функция выполняет одну строку кода.
Ваши зоркие глаза могли заметить, что Распечатать() также является функцией, но вызывается иначе, чем наша функция. Придерживайтесь этой мысли прямо сейчас, мы рассмотрим функции и параметры позже.
JavaScript
function helloFunction () {
alert («Привет, мир!»);
}
helloFunction ();
В JavaScript ключевое слово функция используется для создания функций. Далее у нас есть имя функции. Любой код, заключенный в фигурные скобки, запускается при вызове функции.
Пробелы в JavaScript не важны, но в коде функции обычно делают отступ. Отступы упрощают чтение кода, что очень важно по мере того, как ваши программы становятся более сложными.
Примечание: очень похоже на Распечатать() в предыдущем примере тревога() тоже функция.
C ++
#включают
используя пространство имен std;
void helloFunction () {
cout << "Hello World!";
}
int main () {
helloFunction ();
возврат 0;
}
В C ++ функции создаются по-другому. Вместо ключевого слова для определения функции первое слово описывает тип данных, которые функция вернет. В этом случае наша функция не возвращает никаких данных, поэтому данные недействительны. Далее у нас есть имя функции. Как и в JavaScript, весь код в фигурных скобках запускается при вызове функции. Также, как и в JavaScript, пробелы не влияют на функцию, но это хорошая практика.
Вы заметили другую функцию в коде C ++? Да, главный() это функция. Когда вы выполняете программу на C ++, вы автоматически вызываете основную функцию. Когда функция main успешно завершена, она возвращает 0 при выходе из программы, чтобы сигнализировать об отсутствии ошибок при запуске программы.
Функции, требующие значений
Функции Void великолепны, если вы обнаружите, что пишете один и тот же фрагмент кода снова и снова. Но они могут быть ограничивающими. Они статичны и не меняются. Они всегда выполняют одни и те же инструкции. Один из способов повысить их полезность - передать функции разные значения.
Вы могли заметить, что за именами всех наших функций идут скобки. В скобках мы можем объявить, что данные необходимы для запуска нашей функции. Затем мы можем использовать данные, переданные нашей функции, в функции. Давайте еще раз взглянем на предыдущие примеры, но на этот раз передайте фразу, которую мы хотим вывести.
Python
def helloFunction (newPhrase):
печать (newPhrase)
helloFunction («Наша новая фраза»)
Теперь в скобках наша функция объявляет, что для выполнения ей требуется переменная. Мы назвали переменную newPhrase и теперь можем использовать его в нашей функции. Когда мы вызываем функцию, нам нужно передать запрошенную информацию, поместив ее в скобки. Такие же изменения были внесены в JavaScript.
JavaScript
function helloFunction (newPhrase) {
оповещение (newPhrase);
}
helloFunction («Наша новая фраза»);
C ++
#включают
используя пространство имен std;
void helloFunction (string newPhrase) {
cout << newPhrase;
}
int main () {
helloFunction («Наша новая фраза»);
возврат 0;
}
Наша функция C ++ потребовала немного больше информации. Мы знаем, что вашей функции нужны строковые данные, но для C ++ этого недостаточно. Когда вы создаете свою функцию, вы должны указать, какой тип данных требуется вашей функции. Если вы не отправите данные правильного типа, функция выдаст ошибку.
Это может показаться немного раздражающим, но строгий язык часто может избавить вас от головной боли. Если вы напишете функцию на JavaScript, которая требует целого числа, но число отправляется в виде строки, это может создать ошибку, которую очень трудно отследить.
Связанный: 5 языков функционального программирования, которые вы должны знать
Функции, возвращающие значение
Последняя функциональная возможность, которую мы рассмотрим, - это возврат данных. Это особенно ценно, если вы хотите изменить данные перед их использованием. Хотя вы могли бы написать это встроенным образом, если вы будете использовать одни и те же вычисления много раз, например, преобразование имперских единиц в метрические, возможно, имеет смысл написать это как функцию. Наш пример будет проще. Наша функция потребует два целых числа и вернет сумму.
Python
def addFunction (a, b):
вернуть a + b
печать (добавление функции (2, 4))
В этом примере нашей функции требуются две переменные вместо одной. Мы указываем это, разделяя имена переменных запятой. Ключевое слово возвращаться сообщает функции, что нужно вернуть следующие данные, в данном случае 2 + 4 или 6. Мы вызываем функцию внутри Распечатать() функция.
Как только наша программа дойдет до этой строки, она остановится, запустит нашу функцию, а затем продолжит работу, как если бы addFunction (2, 4) на самом деле было просто возвращенным значением 6.
JavaScript
Код JavaScript очень похож на код Python. Основное отличие состоит в том, что функция вызывается в предупреждении.
function addFunction (a, b) {
вернуть a + b;
}
оповещение (addFunction (2, 4));
C ++
#включают
используя пространство имен std;
int addFunction (int a, int b) {
вернуть a + b;
}
int main () {
cout << addFunction (2, 4);
возврат 0;
}
Код C ++ работает аналогично, но, как обычно, требует немного больше информации. Во-первых, мы должны сказать, какой тип данных вернет наша функция. Вы увидите это пустота был изменен на int. Это означает, что вместо возврата данных наша функция вернет целое число. Кроме того, код похож на тот, который мы уже исследовали.
Управляйте своими функциями
В функциях забавно то, что функции могут вызывать другие функции. Они даже могут называть себя! Но с большой силой приходит большая ответственность. Не сходите с ума, создавая код с функциями, которые вызывают другие функции, вызывающие еще больше функций.
Как уже упоминалось, каждый раз, когда вызывается функция, программа приостанавливается на время ее выполнения. Это означает, что программа хранится в активной памяти. Если вы вызываете еще несколько функций, не завершая их, вы используете больше активной памяти. Если вы не будете осторожны, ваша программа может выйти из-под контроля.
Глобальные переменные могут показаться простыми, но они часто являются причиной множества ошибок. Вот как можно оптимизировать код с помощью инкапсуляции.
- Программирование
- Программирование
- Функциональное программирование
Дж. Ситон - научный писатель, который специализируется на рассмотрении сложных тем. Она имеет докторскую степень в Университете Саскачевана; ее исследование было сосредоточено на использовании игрового обучения для повышения вовлеченности студентов в онлайн. Когда она не работает, вы увидите, что она читает, играет в видеоигры или работает в саду.
Подписывайтесь на нашу новостную рассылку
Подпишитесь на нашу рассылку, чтобы получать технические советы, обзоры, бесплатные электронные книги и эксклюзивные предложения!
Еще один шаг…!
Пожалуйста, подтвердите свой адрес электронной почты в электронном письме, которое мы вам только что отправили.