私は最近reference to "exotic signatures"を見ました。彼らは2.6で廃止されました(そして3.0では削除されました)。指定された例はPythonでエキゾチックな関数シグネチャとは何ですか?
def exotic_signature((x, y)=(1,2)): return x+y
「エキゾチックな」署名とは何ですか?
私は最近reference to "exotic signatures"を見ました。彼らは2.6で廃止されました(そして3.0では削除されました)。指定された例はPythonでエキゾチックな関数シグネチャとは何ですか?
def exotic_signature((x, y)=(1,2)): return x+y
「エキゾチックな」署名とは何ですか?
xとyは、xとyの2つの値にアンパックされた単一の関数の引数を表します。
def func(n):
x, y = n
...
どちらの関数も、2つの要素を含む単一の引数(リストまたはタプル)を必要とします。ここ開梱(と、なぜそれが削除された)タプルパラメータに関する
は、もう少し複雑な例です。何らかのグラフィックプログラミングをしていて、ポイントのリストがあるとしましょう。
points = [(1,2), (-3,1), (4,-2), (-1,5), (3,3)]
となり、それらの起点からの距離を知りたいとします。
def magnitude((x,y)):
return (x**2 + y**2)**0.5
をして、あなたに(0,0)からあなたのポイントの距離を見つけることができます:あなたはこのような関数を定義することができます
map(magnitude, points)
...まあ、少なくとも、あなたは可能性をPython 2.xで:-)
私は、Hank Gayが見た "エキゾチックな署名"の正確な例だと確信しています。 1つの例は、用語が含むものの非常に良いデモではありません。 –
はい、私はGoogleでした。それが参考になりました。それは私には分かりませんが、その署名は "エキゾチックな"ものです。 –
私はこの例ではそれを簡単に思った。 (私は自分自身の言葉を聞いたことがなかった)私は詳細で私の答えを編集しました。 – FogleBird