Что такое функция в программировании?

Что такое функция в программировании?

Часто ли вы копируете и вставляете свой код для повторного использования в различных разделах вашей программы?





Если это так, вы можете рассмотреть возможность использования functions. Функции - очень мощная возможность языков программирования. Они могут сделать код более эффективным, легким для чтения и элегантным.





Что такое функция?

Функция - это блок кода, который выполняет задачу. Его можно вызывать и повторно использовать несколько раз. Вы можете передать информацию функции, и она может отправить информацию обратно. Многие языки программирования имеют встроенные функции, к которым вы можете получить доступ в их библиотеке, но вы также можете создавать свои собственные функции.





Когда вы вызываете функцию, программа приостанавливает текущую программу и выполняет функцию. Функция будет читаться сверху вниз. После завершения функции программа продолжает работать с того места, где была приостановлена. Если функция вернула значение, это значение будет использоваться там, где функция была вызвана.

Как написать функцию?

Есть много разных способов написания функций. Точный синтаксис будет зависеть от языка, на котором вы программируете. Мы покажем примеры на Python, JavaScript и C ++, чтобы продемонстрировать диапазон синтаксиса программирования.



Связанный: Почему языки программирования не могут существовать без функций

Пустые функции

Первый тип функций, который мы рассмотрим, - это функция void. Это просто означает, что функция не возвращает значение. Функции аннулирования используются для выполнения набора инструкций. В этих примерах написанная нами функция называется приветФункция . Назначение функции - вывести «Hello World».





СОВЕТ: дайте функциям имена, объясняющие, что они делают. По мере усложнения программы будет легче управлять функциями и читать код.

Python





def helloFunction():
print('Hello World')
helloFunction()

Ключевое слово def используется в Python для определения и создания функции. Далее следует имя функции. Инструкции в функции следуют на следующей строке после двоеточия. Пробелы имеют значение в Python, поэтому обязательно сделайте отступ для всего кода, который вы хотите, чтобы ваша функция запускалась. В приведенном выше примере функция выполняет одну строку кода.

Ваши зоркие глаза могли заметить, что Распечатать() также является функцией, но вызывается иначе, чем наша функция. Придерживайтесь этой мысли прямо сейчас, мы рассмотрим функции и параметры позже.

JavaScript

выключатель питания для raspberry pi 3
function helloFunction(){
alert('Hello World!');
}
helloFunction();

В JavaScript ключевое слово функция используется для создания функций. Далее у нас есть имя функции. Любой код, заключенный в фигурные скобки, запускается при вызове функции.

Пробелы в JavaScript не важны, но в коде функции обычно делают отступ. Отступы упрощают чтение кода, что очень важно по мере того, как ваши программы становятся более сложными.

Примечание: очень похоже на Распечатать() в предыдущем примере, тревога() тоже функция.

C ++

#include
using namespace std;
void helloFunction(){
cout << 'Hello World!';
}
int main(){
helloFunction();
return 0;
}

В C ++ функции создаются по-другому. Вместо ключевого слова для определения функции первое слово описывает тип данных, которые функция вернет. В этом случае наша функция не возвращает никаких данных, поэтому данные недействительны. Далее у нас есть имя функции. Как и в JavaScript, весь код в фигурных скобках запускается при вызове функции. Также, как и в JavaScript, пробелы не влияют на функцию, но это хорошая практика.

Вы заметили другую функцию в коде C ++? Да, главный() это функция. Когда вы выполняете программу на C ++, вы автоматически вызываете основную функцию. Когда функция main успешно завершена, она возвращает 0 при выходе из программы, чтобы сигнализировать об отсутствии ошибок при запуске программы.

Функции, требующие значений

Функции Void великолепны, если вы обнаружите, что пишете один и тот же фрагмент кода снова и снова. Но они могут быть ограничивающими. Они статичны и не меняются. Они всегда выполняют одни и те же инструкции. Один из способов повысить их полезность - передать функции разные значения.

Вы, наверное, заметили, что за именами всех наших функций следуют скобки. В скобках мы можем объявить, что данные необходимы для запуска нашей функции. Затем мы можем использовать данные, переданные нашей функции, в функции. Давайте еще раз взглянем на предыдущие примеры, но на этот раз передайте фразу, которую мы хотим вывести.

Python

def helloFunction(newPhrase):
print(newPhrase)
helloFunction('Our new phrase')

Теперь в скобках наша функция объявляет, что для выполнения ей требуется переменная. Мы назвали переменную newPhrase и теперь можем использовать его в нашей функции. Когда мы вызываем функцию, нам нужно передать запрошенную информацию, поместив ее в скобки. Такие же изменения были внесены в JavaScript.

JavaScript

function helloFunction(newPhrase){
alert(newPhrase);
}
helloFunction('Our new phrase');

C ++

где я могу использовать свой кредит PayPal
#include
using namespace std;
void helloFunction(string newPhrase){
cout << newPhrase;
}
int main(){
helloFunction('Our new Phrase');
return 0;
}

Наша функция C ++ требует немного больше информации. Мы знаем, что вашей функции нужны строковые данные, но этого недостаточно для C ++. Когда вы создаете свою функцию, вы должны указать, какой тип данных требуется вашей функции. Если вы не отправите данные правильного типа, функция выдаст ошибку.

Это может показаться немного раздражающим, но строгий язык часто может избавить вас от головной боли. Если вы напишете функцию на JavaScript, которая требует целого числа, но число отправляется в виде строки, это может создать ошибку, которую очень трудно отследить.

Связано: 5 языков функционального программирования, которые вы должны знать

Функции, возвращающие значение

Последняя функциональная возможность, которую мы рассмотрим, - это возврат данных. Это особенно ценно, если вы хотите изменить данные перед их использованием. Хотя вы могли бы написать это встроенным образом, если вы будете использовать одни и те же вычисления много раз, например, преобразование имперских единиц в метрическую систему, возможно, имеет смысл записать ее как функцию. Наш пример будет проще. Наша функция потребует два целых числа и вернет сумму.

Python

def addingFunction(a, b):
return a + b
print(addingFunction(2, 4))

В этом примере нашей функции требуются две переменные вместо одной. Мы указываем это, разделяя имена переменных запятой. Ключевое слово возвращение сообщает функции, что она должна вернуть следующие данные, в данном случае 2 + 4 или 6. Мы вызываем функцию внутри Распечатать() функция.

Как только наша программа добралась до этой строки, она бы остановилась, запустила нашу функцию, а затем продолжила бы, как если бы addFunction (2, 4) на самом деле было просто возвращенным значением 6.

JavaScript

Код JavaScript очень похож на код Python. Основное отличие состоит в том, что функция вызывается в предупреждении.

function addingFunction(a, b){
return a + b;
}
alert(addingFunction(2, 4));

C ++

#include
using namespace std;
int addingFunction(int a, int b){
return a + b;
}
int main(){
cout << addingFunction(2, 4) ;
return 0;
}

Код C ++ работает аналогично, но, как обычно, требует немного больше информации. Во-первых, мы должны сказать, какой тип данных вернет наша функция. Вы увидите это пустота был изменен на int . Это означает, что вместо того, чтобы возвращать данные, наша функция вернет целое число. В остальном код похож на тот, который мы уже исследовали.

Управляйте своими функциями

В функциях забавно то, что функции могут вызывать другие функции. Они даже могут называть себя! Но с большой силой приходит большая ответственность. Не сходите с ума, создавая код с функциями, которые вызывают другие функции, вызывающие еще больше функций.

Как уже упоминалось, каждый раз, когда вызывается функция, программа приостанавливается на время ее выполнения. Это означает, что программа хранится в активной памяти. Если вы вызываете еще несколько функций, не завершая их, вы используете больше активной памяти. Если вы не будете осторожны, ваша программа может выйти из-под контроля.

Делиться Делиться Твитнуть Эл. адрес Как сохранить ваш код в чистоте с помощью инкапсуляции объектов

Глобальные переменные могут показаться простыми, но они часто являются причиной множества ошибок. Вот как можно оптимизировать код с помощью инкапсуляции.

Читать далее
Похожие темы
  • Программирование
  • Программирование
  • Функциональное программирование
Об авторе Дженнифер Ситон(Опубликовано 21 статья)

Дж. Ситон - научный писатель, специализирующийся на рассмотрении сложных тем. Она имеет докторскую степень в Университете Саскачевана; ее исследование было сосредоточено на использовании игрового обучения для повышения вовлеченности студентов в онлайн. Когда она не работает, вы обнаружите, что она читает, играет в видеоигры или работает в саду.

Ещё от Jennifer Seaton

Подписывайтесь на нашу новостную рассылку

Подпишитесь на нашу рассылку технических советов, обзоров, бесплатных электронных книг и эксклюзивных предложений!

Нажмите здесь, чтобы подписаться