私はPythonを学んでおり、どのようにスタックがPythonで動作するかを考えようとしています。私はいくつかの疑問を持っています。私はスタックの仕事を知っていて、私はそれについて多くの記事とチュートリアルを読んできました。私は彼らがすべて良いですが、まだ私はいくつかの疑問があるstackoverflow上の多くのスレッドを読んだ。呼び出し引数スタックはPythonでどのように機能しますか?
これまでのところ、私はスタックストアを読み、関数の値を返しました。 LIFOプリンシパルによって動作します。
スタックの最初の値だけが返され、一番上に格納されます。
だから私の質問はある - 4つの変数があるとします
sum = a + d
sum = b + c
a = 9
d = 4
b = 2
c = 13
、彼らが返されます:彼らは、例えば、値を呼び出す機能した順序でスタックに格納されている
a = 9
b = 2
c = 13
d = 4
は、上から下まで。今や私の混乱は - いずれかの操作がd
とc
を使用する必要がある場合、スタックの途中にある限り、スタック戻り値はどのようにしてd
とc
になるでしょうか?最初にスタックしてからdを返しますか?
これは混乱です。
スタック変数にアクセスするときに 'push'や' pop'ingはありません。 – tkausl
私は混乱しています、あなたはデータ構造として "スタック"を意味しますか、またはメモリとして "スタック"を意味しますか?最初のものが該当する場合 - 上からの値が必要ない場合は使用しないでください。後者の場合、変数は積み重ねられた関数の "仮想"ヒープ内にありますので、それは大丈夫です – RafazZ
なぜタグ付けしましたかこれは[スタックオーバーフロー]ですか? –