考虑以下代码:
>>> x = y = [1, 2, 3, 4]
>>> x += [4]
>>> x
[1, 2, 3, 4, 4]
>>> y
[1, 2, 3, 4, 4]
Run Code Online (Sandbox Code Playgroud)
然后考虑这个:
>>> x = y = [1, 2, 3, 4]
>>> x = x + [4]
>>> x
[1, 2, 3, 4, 4]
>>> y
[1, 2, 3, 4]
Run Code Online (Sandbox Code Playgroud)
为什么这两个有区别?
(是的,我试着寻找这个).
在编写供个人使用的脚本时,我习惯这样做:
def do_something():
# Do something.
if __name__ == '__main__':
do_something()
Run Code Online (Sandbox Code Playgroud)
或者,我们也可以这样做:
def do_something():
# Do something.
do_something() # No if __name__ thingy.
Run Code Online (Sandbox Code Playgroud)
我知道在区分将脚本作为模块导入或直接调用它时,第一种形式是有用的,但对于只会执行(并且从不导入)的脚本,有没有理由更喜欢一个而不是另一个?