Python教程

019-Python入门(函数)

本文主要是介绍019-Python入门(函数),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
变量作⽤域指的是变量⽣效的范围,主要分为两类:局部变量和全局变量。
#1.局部变量:所谓局部变量是定义在函数体内部的变量,即只在函数体内部⽣效。
def testA():
    a = 100
    print(a)
testA() # 100
#print(a) # 报错:name 'a' is not defined
#变量a是定义在 testA 函数内部的变量,在函数外部访问则⽴即报错。
#局部变量的作⽤:在函数体内部,临时保存数据,即当函数调⽤完成后,则销毁局部变量。
#2.全局变量:所谓全局变量,指的是在函数体内、外都能⽣效的变量。
# 定义全局变量a
a = 200
def testA():
    print(a)  # 访问全局变量a,并打印变量a存储的数据
def testB():
    print(a) # 访问全局变量a,并打印变量a存储的数据
testA() # 200
testB() # 200

二、正常情况下,局部变量和全局变量名字相同是,局部变量数值改变,全局变量的数值不改变。

a = 100
def testA():
    print(a)
def testB():
    a = 200
    print(a)
testA() # 100
testB() # 200
print(f'全局变量a = {a}') # 全局变量a = 100
testB 函数内部的 a = 200 中的变量 a 是在修改全局变量 a 吗? 很明显不是。观察上述代码发现, 15 ⾏得到 a 的数据是 100 ,仍然是定义全局变量 a 时候的值,⽽没有返回。 testB 函数内部的 200 。综上: testB 函数内部的 a = 200 是定义了⼀个局部变量。 三、如何在函数体内部修改全局变量?( global 关键字解决这个问题 )
a = 100
def testA():
    print(a)
def testB():
 # global 关键字声明a是全局变量
    global a
    a = 200
    print(a)
testA() # 100
testB() # 200
print(f'全局变量a = {a}') # 全局变量a = 200
这篇关于019-Python入门(函数)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!