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

本文通过实例解析了Python中全局变量、局部变量的区别,以及`global`和`nonlocal`关键字的作用。包括函数内部定义变量的作用域、如何影响函数调用时的变量值。
摘要由CSDN通过智能技术生成

目录

练习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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

雨我的泪滴

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值