在Python中将一个变量赋给一个函数,然后将参数传递给该变量的特性叫什么?

2024-06-28 11:33:23 发布

您现在位置:Python中文网/ 问答频道 /正文

Python的特性是什么

  1. 将函数赋给变量

    myPowerVariable=功率

    mySqrtVariable=数学.sqrt

  2. 然后你用参数来调用那个变量?你知道吗

    myPowerVariable(2,3)

    prints 8

    mySqrtVariable(9)

    prints 3

如果你在PHP中尝试,它将不起作用,希望有人能告诉我这个特性叫什么。你知道吗

谢谢


Tags: 函数参数数学sqrt特性功率printsphp
3条回答

在PHP中,它们被称为Variable functions,并且工作良好,假设您使用正确的PHP语法:

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

如果你做了:

$myPowerVariable = pow();

你会得到:

Warning: pow() expects exactly 2 parameters, 0 given

因为您正在执行pow(),并将结果赋给$myPowerVariable,但没有提供所需的参数。你知道吗

这是您在评论中提到的Anonymous function的一个简单示例:

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

$myPowerVariable(2, 3);

这通常被称为functional programming,虽然在语法上存在一些差异,但是这个特性在PHP中确实存在。以下是PHP的工作原理:

function myFunction() {
    echo 'here!';
}

$myVar = 'myFunction';

$myVar();

这也适用于PHP:

class myClass
{
    function myMethod() {
        echo 'here!';
    }
}

$myVariable = ['myClass', 'myMethod'];

call_user_func($myVariable);

首先,你的措辞有些混乱:你实际上是在给变量赋值。你知道吗

无论如何,这是Python拥有first class functions的一个例子。你知道吗

相关问题 更多 >