8

def f(x)関数への何らかの参照が必要ですが、 a を使用する必要があるのか​​、lambda何らかの種類の aを使用する必要があるのか​​ わかりません。

print f(3)たとえば、出力したいのです9aが、これはPythonの仕組みではありませんか?

2 番目の質問: 機能している関数があると仮定すると、その関数を返すにはどうすればよいdegreeですか?

4

5 に答える 5

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、組み込みのデータ型ではありません。ただし、そのようなクラスを定義する優れたライブラリがいくつかあるかもしれません。

于 2012-11-24T18:21:13.347 に答える
2

Python (および他のほとんどのコンピューター言語) は代数を処理しません。これは、このような記号出力が必要な場合に必要になります。f(a,x)しかし、 の特定の (数値) 値の結果を返す関数を持つことができますa

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

しかし、実際に代数を処理するプログラムまたは言語が必要な場合は、sympyまたは Mathematica などの商用プログラムを調べてください。

多項式を扱っているだけで、それらを適切に処理するデータ構造が必要な場合は、numpy とその多項式クラスを確認してください。

于 2012-11-24T18:31:55.413 に答える