"""
locals() -> dictionary
Update and return a dictionary containing the current scope's local variables.重点
"""
return {}
以前也知道这个函数,还是在使用django的时候用到了。今天看源码的时候觉得以前理解的不透彻。
首先:
调用这个函数返回一个字典 locals() -> dictionary
第二,也是最重要的,到底是收集的哪些域空间变量。以下是我的认识:
得看locals()出现的位置,模块内
a = 'dsd'
vb = 'dsd'
cc = locals()
大家可以打印看看cc是什么,有助于理解locals(),你也可以试试
a = 'dsd'
cc = locals()
vb = 'dsd'
函数内情况:
def test():
a = 1
b = 2
c =3
def test2():
d = 4
e = 5
f = 6
return locals()
这里的locals() = {'a': 1, 'c': 3, 'test2': <function test2 at 0x02C256F0>, 'b': 2}
总结,locals()所收集的变量由她所在的位置的域决定,可以理解成locals()是一个变量,他只收集和它平级的变量
from .xx import xx
from .. xx import xx
. 和 .. 什么意思(其实是目录关系)
.代表所在文件的当前目录
..代表所在文件的当前目录父目录
lib
| te
|__init__
|c.py
|d.py
__intit__
fs.py
c.py内的文件
from ..import fs
from .import d