Squeak.ru - шаблоны программирования

как вы называете функцию, в которой вы можете назначить переменную функции в Python, а затем передать аргументы этой переменной?

что вы называете особенностью Python, где:

  1. Вы назначаете функцию переменной

    myPowerVariable = мощность

    mySqrtVariable = math.sqrt

  2. Затем вы вызываете эту переменную с аргументами?

    моя мощностьпеременная(2,3)

    prints 8

    мояSqrtVariable(9)

    prints 3

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

Спасибо

15.03.2017

  • посмотрите на функции Python как на объекты 15.03.2017
  • Возможно, вы имеете в виду объекты первого класса stackoverflow .com/questions/27392402/ 15.03.2017
  • @VPfB эти знания вы не получите из учебных пособий, а только если будете изучать информатику? 15.03.2017
  • @TheWolf Я не знаю ответа. Но я хотел бы воспользоваться этим крошечным комментарием, чтобы порекомендовать хорошие книги. Они дают лучшую основу в качестве учебных пособий. 15.03.2017
  • @VPfB, пожалуйста, продолжайте, спасибо 15.03.2017

Ответы:


1

Во-первых, вы перепутали формулировку: на самом деле вы назначаете функцию переменной.

В любом случае, это пример Python с первоклассными функциями.

15.03.2017

2

В PHP они называются Функции переменных и работают нормально, если вы используете правильный синтаксис PHP:

$myPowerVariable = 'pow';
echo $myPowerVariable(2, 3);  // prints 8

Если вы сделали:

$myPowerVariable = pow();

Вы получаете:

Предупреждение: pow() ожидает ровно 2 параметра, задано 0

Потому что вы выполняете pow() и присваиваете результат $myPowerVariable, но не предоставляете необходимые аргументы.

Это простой пример анонимной функции, которую вы упомянули в комментариях:

$myPowerVariable = function($a, $b) {
    echo pow($a, $b);
};

$myPowerVariable(2, 3);
15.03.2017
  • Я никогда не понимал анонимных функций в PHP, это все, что мне нужно знать об анонимных функциях? 15.03.2017

  • 3

    Обычно это называется функциональным программированием, и эта функция существует в PHP, хотя есть некоторые отличия в синтаксисе. В PHP работает следующее:

    function myFunction() {
        echo 'here!';
    }
    
    $myVar = 'myFunction';
    
    $myVar();
    

    Это также работает в PHP:

    class myClass
    {
        function myMethod() {
            echo 'here!';
        }
    }
    
    $myVariable = ['myClass', 'myMethod'];
    
    call_user_func($myVariable);
    
    15.03.2017
  • Разве это не страшно, что string, назначенное вами переменной, на самом деле может быть function, и вдруг у вас есть переменная, которая может вызывать function? Или я просто слишком много думаю? 15.03.2017
  • @TheWolf Это может быть немного более опасно, так как в примере с Python строка назначения выдаст NameError, если функция не определена, но в PHP ошибка не будет вызвана до тех пор, пока вы не попытаетесь вызвать функцию переменной, поскольку присваивание строка в переменную всегда разрешена. Версия PHP может привести к ошибкам времени выполнения, которые невозможно обнаружить во время компиляции, в зависимости от того, как она используется. 15.03.2017
  • Новые материалы

    Угловая структура архитектуры
    Обратите внимание, что эта статья устарела, я решил создать новую с лучшей структурой и с учетом автономных компонентов: https://medium.com/@marekpanti/angular-standalone-architecture-b645edd0d54a..

    «Данные, которые большинство людей используют для обучения своих моделей искусственного интеллекта, поставляются со встроенным…
    Первоначально опубликовано HalkTalks: https://hacktown.com.br/blog/blog/os-dados-que-a-maioria-das-pessoas-usa-para-treinar-seus-modelos-de-inteligencia-artificial- ja-vem-com-um-vies-embutido/..

    Сильный ИИ против слабого ИИ: различия парадигм искусственного интеллекта
    В последние годы изучению и развитию искусственного интеллекта (ИИ) уделяется большое внимание и прогресс. Сильный ИИ и Слабый ИИ — две основные парадигмы в области искусственного интеллекта...

    Правильный способ добавить Firebase в ваш проект React с помощью React Hooks
    React + Firebase - это мощная комбинация для быстрого и безопасного создания приложений, от проверки концепции до массового производства. Раньше (знаете, несколько месяцев назад) добавление..

    Создайте API с помощью Python FastAPI
    Создание API с помощью Python становится очень простым при использовании пакета FastAPI. После установки и импорта вы можете создать приложение FastAPI и указать несколько конечных точек. Каждой..

    Веселье с прокси-сервером JavaScript
    Прокси-серверы JavaScript — это чистый сахар, если вы хотите создать некоторую общую логику в своих приложениях, чтобы облегчить себе жизнь. Вот один пример: Связь клиент-сервер Мы..

    Получить бесплатный хостинг для разработчиков | Разместите свой сайт за несколько шагов 🔥
    Статические веб-сайты — это веб-страницы с фиксированным содержанием и его постоянным содержанием. Но теперь статические сайты также обрабатывают динамические данные с помощью API и запросов...