相关疑难解决方法(0)

薛定谔的变量:如果你正在检查它的存在,那么__class__单元格会神奇地出现?

这里有一个惊喜:

>>> class B:
...     print(locals())
...     def foo(self):
...         print(locals())
...         print(__class__ in locals().values())
...         
{'__module__': '__main__', '__qualname__': 'B'}
>>> B().foo()
{'__class__': <class '__main__.B'>, 'self': <__main__.B object at 0x7fffe916b4a8>}
True
Run Code Online (Sandbox Code Playgroud)

似乎只是提到__class__了解析器明确检查了吗?否则我们应该得到类似的东西

NameError: name '__class__' is not defined
Run Code Online (Sandbox Code Playgroud)

实际上,如果您修改为仅检查密钥,即检查'__class__' in locals(),那么我们只self在预期范围内.

如何将这个变量神奇地注入范围?我的猜测是与此有关super- 但我没有使用super,那么为什么编译器在不需要时会在这里创建一个隐式闭包引用呢?

python closures python-datamodel python-3.x

22
推荐指数
2
解决办法
879
查看次数

如何在 macOS 上的 Sublime Text 3 上运行 Python3?

我创建了一个python3.sublime-build

{
  "path": "/usr/local/bin/python",
  "cmd": ["python3", "-u", "$file"],
  "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
  "selector": "source.python"
}
Run Code Online (Sandbox Code Playgroud)

$ which python3返回,

/usr/local/bin/python3
Run Code Online (Sandbox Code Playgroud)

可能安装了brew.

Command+B返回此错误:

[Errno 20] Not a directory
[cmd: ['python3', '-u', '/path/to/dir/filename.py']]
[dir: /path/to/dir]
[path: /usr/local/bin/python]
[Finished]
Run Code Online (Sandbox Code Playgroud)

看了一些相关的帖子,还是没能解决。

我该如何解决问题?

python python-3.x sublimetext sublimetext3

3
推荐指数
1
解决办法
998
查看次数