main.py:
import package
Run Code Online (Sandbox Code Playgroud)
包/ __ init__.py:
# use function to split local and global namespace
def do_import():
print globals().keys()
print locals().keys()
import foo as mod
print locals().keys()
print globals().keys()
do_import()
Run Code Online (Sandbox Code Playgroud)
包/ foo.py:
print 'Hello from foo'
Run Code Online (Sandbox Code Playgroud)
执行main.py将输出如下:
['__builtins__', '__file__', '__package__', '__path__', '__name__', 'do_import', '__doc__']
[]
Hello from foo
['mod']
['__builtins__', '__file__', '__package__', '__path__', '__name__', 'foo', 'do_import', '__doc__']
Run Code Online (Sandbox Code Playgroud)
将import在__init__.py没有按预期工作.请注意,全局命名空间有一个'foo',它只能绑定到本地'mod'
即使是
exec "import foo as mod" in {'__name__': __name__, '__path__': __path__}
无法阻止全局命名空间被修改
怎么会发生这种情况?
HTML:
<div>
<span>Some text here...</span>
</div>
Run Code Online (Sandbox Code Playgroud)
CSS:
div {
line-height: 0;
}
Run Code Online (Sandbox Code Playgroud)
在div得到height: 0在这种情况下.
但是,当我指定一个更大的font-size像
span {
font-size: 100px;
}
Run Code Online (Sandbox Code Playgroud)
虽然有line-height: 0,但是div得到的非零高度.
您可以访问https://jsfiddle.net/cjvpLfv2/查看演示
编辑:在https://jsfiddle.net/cjvpLfv2/12/添加一个演示
如果我申请font-size: 100px到两个span和div中,div得到height: 0px再次
我的问题是如何height: auto交互line-height,并font-size在这个简单的情况下(块级容器只有一个内联元素)