python作用域和德尔

时间:2018-07-22 00:04:25

标签: python scope

我很难理解del在python中如何工作。 del不应该在打印后删除对象的值吗?

def f1():
    a = 5
    def f2():
        print('a: ', a)
        del a
    f2()
    print(a)

f1()

通过执行此功能,我得到了错误:

  

UnboundLocalError:分配前引用了本地变量'a'。

但是,如果我不删除a,那么它可以正常工作。

def f1():
    a = 5
    def f2():
        print('a: ', a)
        # del a
    f2()
    print(a)

f1()

问题:

  1. del与打印同时工作吗?
  2. 如果是,那么应该可以理解,但是如果不是,那么我有什么想念的吗?

0 个答案:

没有答案