Python:如何创建一个函数?例如f(x)= ax ^ 2

时间:2012-11-24 18:12:08

标签: python function lambda

我希望对函数有某种引用,但我不知道是否需要使用某种def f(x)lambda

例如我想print f(3)并输出9a,或者这不是python的工作方式?

第二个问题:假设我有一个工作函数,我该如何返回它的degree

5 个答案:

答案 0 :(得分:7)

要创建函数,请定义它。函数可以执行任何操作,但它们的主要用途模式是获取参数和返回值。您必须决定将参数转换为返回值的准确程度。

例如,如果您希望f(x)返回一个数字,那么a也应该是全局或函数内定义的数值变量:

In [1]: def f(x):
   ...:     a = 2.5
   ...:     return a * x**2
   ...: 

In [2]: f(3)
Out[2]: 22.5

或许您希望它返回这样的字符串:

In [3]: def f(x):
   ...:     return str(x**2) + 'a'
   ...: 

In [4]: f(3)
Out[4]: '9a'

如果您需要更多帮助,则必须指定您的需求。


编辑:事实证明,您希望将多项式或代数函数用作对象,并使用它们做一些代数。 Python将允许这样做,但不使用标准数据类型。您可以为多项式定义类,然后定义任何方法或函数以获得最高功率或其他任何东西。但Polynomial不是内置数据类型。但是,可能有一些很好的库定义了这样的类。

答案 1 :(得分:1)

Python(以及大多数其他计算机语言)不执行代数,如果您想要这样的符号输出,这就是您需要的代数。但是你可以有一个函数f(a,x),它返回a的特定(数值)值的结果:

def f(a, x):
   return a*x*x

但如果您想要一个实际为您做代数的程序或语言,请查看sympy或Mathematica等商业程序。

如果您只是处理多项式,而您只需要一个能够很好地处理它们的数据结构,请查看numpy and its polynomial class

答案 2 :(得分:0)

def func():
    print "F(x) = 2x + 3"
    x = int(raw_input('Enter an integer value for x: '))
    Fx = 2 * x + 3
    return Fx

print func()

玩得开心:)

答案 3 :(得分:0)

我通常将lambda用于简短的功能:

f = lambda a, x: a * x**2

这里a和x是我函数的参数。您需要输入a和x

f(2,4)

如果您想将a作为常量参数,例如a = 2:

f = lambda x: 2 * x**2
f(5)

如果您有x的输入值列表,则可以将map与lambda结合使用。 它直观易懂。

(*map(lambda x: 3 * x**2, [1,2,3,4]),) 

list(map(lambda x: 3 * x**2, [1,2,3,4])

欢呼!

答案 4 :(得分:0)

奶酪

您可以在Python中使用def函数来创建数学函数,可以输入以下内容:

def f(x):
    return(2x + (3 + 3) * 11 + 88) # <- you could make your own function.

print(f(3))

日志:

220

那样

或在此

def f(a, x):
    return((a + x) ** (a * x))

然后...

print(f(1, 2))

登录...

6