python开发案例教程-清华大学出版社(张基温)答案(3.3)

目录

练习3.3

1、判题

2、代码分析题


练习3.3


1、判题


(1) global 语句的作用是将本地变量升格为全局变量。                                         ()
(2) nonlocal 语句的作用是将全局变量降格为本地变量。                                     ()
(3) 本地变量创建于函数内部,其作用域从其被创建位置起,到函数返回为止。 ()
(4) 全局变量创建于所有函数的外部,并且可以被所有函数访问。                        ()
(5) 在函数内部没有办法定义全局变量。                                                               ()


2、代码分析题


阅读下面的代码,指出程序运行结果并说明原因。

(1)

a = 1


def second():
    a = 2

    def thirth():
        global a
        print(a)

    thirth()
    print(a)


second()
print(a)
1
2
1

(2)

a = 1


def second():
    a = 2

    def thirth():
        nonlocal a
        print(a)

    thirth()
    print(a)


second()
print(a)
2
2
1

(3)

x = 'abcd'


def func():
    print(x)


func()
abcd

(4)

x = 'abcd'


def func():
    x = 'xyz'


func()
print(x)
abcd

(5)

x = 'abcd'


def func():
    x = 'xyz'
    print(x)


func()
print(x)
xyz
abcd

(6)

x = 'abcd'


def func():
    global x
    x = 'xyz'


func()
print(x)
xyz

(7)

X = 'abcd'


def func():
    x = 'xyz'

    def nested():
        print(x)

    nested()


func()
print(X)
xyz
abcd

(8)

def func():
    x = 'xyzdef'

    def nested():
        nonlocal x
        x = 'abcd'

    nested()
    print(x)


func()
abcd

你可能感兴趣的:(python开发案例教程,python,开发语言)