《高教社2024财经大数据技术应用基础教学课件函数中变量的作用域》由会员分享,可在线阅读,更多相关《高教社2024财经大数据技术应用基础教学课件函数中变量的作用域(5页珍藏版)》请在金锄头文库上搜索。
1、函数中变量的作用域函数中变量的作用域函数中变量的作用域变量的作用域是指在程序中能够对该变量进行读/写操作的范围。根据作用域的不同,变量分为以下四种。函数中定义的变量(Local,简称L)01嵌套中的父级函数的局部变量(Enclosing,简称E)02模块级别定义的全局变量(Global,简称G)03内置模块中的变量(Built-in,简称B)04程序执行对变量的搜索和读/写时,优先级由近及远,即:函数中定义的变量嵌套中父级函数的局部作用域变量模块级别定义的全局变量内置模块中的变量,也就是LEGB。函数中变量的作用域lPython允许出现同名变量。若具有相同命名标识的变量出现在不同的函数体中,则
2、各自代表不同的对象,既不相互干扰,也不能相互访问;若具有相同命名标识的变量在同一个函数体中或具有函数嵌套关系,则不同作用域的变量也各自代表不同的对象,程序执行时按优先级进行访问。l变量作用域测试示例如左图所示。函数中变量的作用域03在默认条件下,不属于当前局部作用域的变量是只读的,如果为其进行赋值操作,则Python认为是在当前作用域又声明了一个新的同名局部变量。当内部作用域变量需要修改全局作用域的变量的值时,要在内部作用域中使用global关键字对变量进行声明。同理,当内部作用域变量需要修改嵌套中的父级函数的局部作用域变量的值时,要在内部作用域中使用nonlocal关键字对变量进行声明。全局变量作用域示例