関数とスコープ・ラムダ比較問題
グローバルスコープとローカルスコープにおける変数の参照特性の違いで、正しいのはどれですか?
A.ローカルスコープの変数はグローバルスコープから常に参照可能である
✗ ローカルスコープの変数はスコープ外では参照できません。スコープの規則に矛盾します。
B.グローバルスコープの変数はローカルスコープから直接参照可能だが、ローカル変数はグローバルから参照不可← 正解
✓ 正解です。グローバル変数はローカル内から参照可能ですが、ローカル変数はグローバルスコープからは見えません。
C.ローカルスコープで定義された変数のみ、グローバルスコープからアクセス可能である
✗ むしろ逆で、ローカルスコープの変数はグローバルスコープからアクセスできません。
D.グローバルスコープとローカルスコープは相互に変数にアクセスすることはできない
✗ グローバル変数はローカルスコープから参照可能です。完全に遮断されてはいません。
「関数とスコープ・ラムダ」の他の問題
以下のコードを実行したときの出力結果として正しいものはどれか。
def multiply(x, y=3):
r…以下のコードを実行したときの出力結果として正しいものはどれか。
square = lambda x: x ** 2
a…以下のコードを実行したときの出力結果として正しいものはどれか。
def calculate(a, b, c=2):
…以下のコードを実行したときの出力結果として正しいものはどれか。
numbers = [2, 3, 4, 5]
resu…以下のコードを実行したときの出力結果として正しいものはどれか。
def outer(x):
def inner…以下のコードを実行したときの出力結果として正しいものはどれか。
def func(a, b, *args):
…