タイトルは少し奇妙ですが、私はこれが呼び出された方法を正確に知っているので、plzは抽象的なタイトルで私を許していない....自身の機能を含む関数?
私はこのオンラインのようなコード発見しました:
をdef lcs(xstr, ystr):
"""
>>> lcs('thisisatest', 'testing123testing')
'tsitest'
"""
if not xstr or not ystr:
return ""
x, xs, y, ys = xstr[0], xstr[1:], ystr[0], ystr[1:]
if x == y:
return x + lcs(xs, ys)
else:
return max(lcs(xstr, ys), lcs(xs, ystr), key=len)
は私のpythonに新しいです、と私はまだ完全に定義されていない)あなたが私の理解、LCSへ
return x + lcs(xs, ys)
(中LCS(XS、YS)を呼び出すことができる方法を理解していない、と私は」自分自身の中で自分自身の機能をどのように呼び出すことができるのか混乱しています....
はまた、私は私がどのように機能するかをMAX(第一、第二)知っている= lenが
max(lcs(xstr, ys), lcs(xs, ystr), key=len)
に何をしているかのキーを知らないが、私は三番目のパラメータが何をしているのか分かりません。 「キー」は何を意味し、「キー」の値として「len」が使用されるのですか?
https://en.wikipedia.org/wiki/Recursion_(computer_science) – wwii
*定義する*関数自体は定義されていません。しかし、関数*はあなたが呼び出すときに*定義されているので、 'NameError'はありません。 –