跳至主要內容

Python期末考答疑

AI悦创原创Python期末辅导Python期末1v1辅导Python毕业设计辅导Python毕业设计1v1辅导大约 9 分钟...约 2668 字

Question 1

题目

下面代码的输出结果是:______________

n = 2


def f(a):
    n = bool(a - 2)
    return n


b = f(2)
print(n, b)

A. 2 0
B. False False
C. 2 False
D. 0 False

Question 2

题目

下面代码的输出结果是:______________

a = 1


def fun(a):
    a = a + 2
    return a


print(a, fun(a))

A.1, 1

B.1, 3

C.3, 3

D.3, 1

Question 3

题目

下面代码的输出结果是:______________

img1 = [12, 34, 56, 78]
img2 = [1, 2, 3, 4, 5]


def modi():
    img1 = img2
    print(img1)


modi()
print(img1)

A. [1, 2, 3, 4, 5]

[1, 2, 3, 4, 5]

B. [12, 34, 56, 78]

[1, 2, 3, 4, 5]

C. [12, 34, 56, 78]

[12, 34, 56, 78]

D. [1, 2, 3, 4, 5]

[12, 34, 56, 78]

函数的全局变量、局部变量的相互关系、相互影响

函数的全局变量和局部变量是 Python 中变量作用域的两个主要类型。它们之间的关系和相互影响主要体现在以下几个方面:

  1. 变量作用域:

全局变量:全局变量是在函数之外定义的变量,它在整个程序的生命周期内都是可见的。全局变量可以在程序的任何地方被访问,包括在函数内部。

局部变量:局部变量是在函数内部定义的变量,它只在函数内部可见。函数执行完成后,局部变量会被销毁,不能在函数外部访问。

  1. 作用域规则:

当在函数内部访问一个变量时,Python 首先会在函数的局部作用域查找这个变量。如果在局部作用域找不到这个变量,Python 会在全局作用域查找。如果还是找不到,那么会报错。

  1. 相互影响:

局部变量与全局变量之间的相互影响主要表现在以下几个方面:

  • 如果在函数内部直接给一个全局变量赋值,那么 Python 会认为你在创建一个与全局变量同名的局部变量,而不是修改全局变量的值。这时,全局变量不会受到影响。
  • 如果需要在函数内部修改全局变量的值,需要使用 global 关键字声明。这样,你就可以在函数内部直接修改全局变量的值,而不是创建一个局部变量。
  • 如果在函数内部访问一个变量,而这个变量既没有在函数内部定义,也没有在全局作用域定义,那么 Python 会报错。

下面举一个例子来说明全局变量和局部变量之间的相互关系和相互影响:

x = 10  # 全局变量

def func1():
    x = 5  # 在函数内部创建一个局部变量 x
    print("In func1, x =", x)  # 打印局部变量 x

def func2():
    global x  # 声明 x 为全局变量
    x = 20  # 修改全局变量 x 的值
    print("In func2, x =", x)  # 打印全局变量 x

func1()  # 调用 func1,输出:In func1, x = 5
func2()  # 调用 func2,输出:In func2, x = 20
print("Outside functions, x =", x)  # 输出:Outside functions, x = 20

在这个例子中,我们首先定义了一个全局变量 x。在 func1() 中,我们创建了一个与全局变量同名的局部变量 x,并打印它。这时,全局变量 x 的值不受影响,因为我们在函数内部创建了一个局部变量 x

func2() 中,我们使用 global 关键字声明了全局变量 x,然后修改了它的值。这时,我们在函数内部直接修改了全局变量 x 的值,而不是创建一个局部变量。所以当我们调用 func2() 时,全局变量 x 的值被修改为 20。

最后,我们在函数外部打印全局变量 x,输出结果为 20,这是因为在 func2() 中我们修改了全局变量 x 的值。

总结一下,全局变量和局部变量之间的相互关系和相互影响主要体现在变量的作用域、作用域规则以及变量值的修改。在函数内部,如果需要修改全局变量的值,需要使用 global 关键字声明;否则,创建一个同名的局部变量不会影响全局变量的值。

欢迎关注我公众号:AI悦创,有更多更好玩的等你发现!

公众号:AI悦创【二维码】

AI悦创·编程一对一

AI悦创·推出辅导班啦,包括「Python 语言辅导班、C++ 辅导班、java 辅导班、算法/数据结构辅导班、少儿编程、pygame 游戏开发、Linux、Web 全栈」,全部都是一对一教学:一对一辅导 + 一对一答疑 + 布置作业 + 项目实践等。当然,还有线下线上摄影课程、Photoshop、Premiere 一对一教学、QQ、微信在线,随时响应!微信:Jiabcdefh

C++ 信息奥赛题解,长期更新!长期招收一对一中小学信息奥赛集训,莆田、厦门地区有机会线下上门,其他地区线上。微信:Jiabcdefh

方法一:QQopen in new window

方法二:微信:Jiabcdefh

上次编辑于:
贡献者: AndersonHJB
你认为这篇文章怎么样?
  • 0
  • 0
  • 0
  • 0
  • 0
  • 0
评论
  • 按正序
  • 按倒序
  • 按热度