什么是Python等同于Python的本地人()?

时间:2014-12-15 15:41:45

标签: php python scope

我知道PHP中的$GLOBALS大致相当于Python的globals(),但它是否等同于locals()

我的Python:

>>> g = 'global'
>>> def test():
...     l = 'local'
...     print repr(globals());
...     print repr(locals());
... 
>>> 
>>> test()
{'g': 'global', [...other stuff in the global scope...]}
{'l': 'local'}

我的PHP端口:

<?php
$g = 'global';
function test(){ 
    $l = 'local';
    print_r($GLOBALS);
    //...please fill in the dots...:-)
}
test();
?>
Array
(
    [g] => global
    [...other stuff in the global scope...]
)

1 个答案:

答案 0 :(得分:4)

get_defined_vars是您正在寻找的。

function test(){
    $a = 'local';
    $b = 'another';
    print_r(get_defined_vars());
}

test();

#Array
#(
#    [a] => local
#    [b] => another
#)