0
点赞
收藏
分享

微信扫一扫

python 之 函数局部变量、全局变量以及全局变量经典面试题


一、局部变量(在一个函数内部定义变量只能在这个函数可以用,在其他函数用不了)

def add():
num = 100
print(num)

def mult():
print(num)

add() - 正确输出num 为 100
mult() - 错误, 见局部变量定义

二、全局变量(在函数外部定义变量,在任何函数动能调用)

  • 在函数内部,如果局部变量与全局变量变量名一样,则数内部调用局部变量。

num = 100
def add():
num = 99
print(num)

add() 输出为 99

  • 如果想在函数内部改变全局变量,需要在前面加上global关键字,在执行函数之后,全局变量值也会改变。

num = 100
def add():
global num
num = 99
print(num)

def mult():
print( num)

add()
mult()

python 之 函数局部变量、全局变量以及全局变量经典面试题_变量名

  • 列表、字典可以直接做全局变量,如果对其修改时不用加global声明。

li = ['a', 'c', 'd']
def add():
li.append('e')
print(li)

add() ['a', 'c', 'd', 'e']

三、经典面试题 (下面这个面试题,当年我面试时做了三遍,推荐给大家)

其实是个错误题:​​错误原因赋值前引用了局部变量num​

num = 100
def add():
num += 2
print(num)

add()


举报

相关推荐

0 条评论