4 comments

[ 2.9 ms ] story [ 17.5 ms ] thread
I always though it would be cool for a language have a special array-like object called 'scope'. To test if a variable was in scope you would say something like "if 'a' in scope:". It could also be useful in debugging. You could definitely abuse it, like global variables or Javascript's arguments.caller, but with great power comes great responsibility.
Would Python 'locals' be something like that?

  def f():
    x = 1
    if 'x' in locals():
      print 'x in scope'
  
  f()
  x in scope
What's the use case? Isn't this something the compiler can determine statically?
You could potentially manually/dynamicaly manipulate the environment to an advantage.