ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

Python变量作用域:局部变量、全局变量与global关键字详解

Python变量作用域:局部变量、全局变量与global关键字详解 变量作用域局部变量、全局变量与关键字一个编程里相当重要的概念是变量作用域, 其决定程序里变量的可访问性, 理解变量作用域能助您避免错误, 还能编写更清晰的代码, 本教程会介绍局部变量、全局变量以及关键字。什么是变量作用域变量在程序里的可见以及可访问范围被称作变量作用域, 简略来讲, 它界定了在代码中的哪部分能够运用特定的变量, 在其中的变量作用域主要分成两种, 分别是局部作用域和全局作用域。局部变量函数之中所定义的被称作局部变量的变量, 它们唯在定义自身的那个函数范围之内才具备有效性, 于函数外部是根本没有办法去访问这些变量的, 这所表达的意思就是, 要是您于某一个函数当中创建了一个变量, 那么它仅仅能够在该函数的内部被加以使用。示例def my_function(): x 10 # x是局部变量 print(f在函数内部: x {x}) my_function() print(f在函数外部: x {x}) # 这会引发NameError因为x在函数外部不可见于上部之代码里, 变量x于函数之内进行定义, 因而它属于局部变量。去尝试于函数外头打印x, 则会引发错误, 缘由于x不在当下之作用域以内。全局变量全局变量, 其为位于函数外部所定义的变量, 它们在整个程序范围之内皆是可见的, 能够从任何一处来进行访问, 其中也涵盖函数的内部, 这使得您能够于不同的函数之间实现数据的共享。示例y 20 # y是全局变量 def another_function(): print(f在函数内部: y {y}) # 可以访问全局变量y another_function() print(f在函数外部: y {y}) # 同样可以访问全局变量y这里, y是在函数的外部进行定义的, 因此它属于全局性的变量能够在函数的内部以及函数的外部进行访问。关键字有时候, 您也许会想要于函数内部去修改全局变量当中的值, 在默认情形之下, 要是您于函数内部针对一个全局变量进行重新赋值的操作, 那么就会创建出一个新的局部变量, 而可不是去修改全局变量, 这样的情况有可能会引发混淆。通过使用关键字, 您进而能够告知, 函数内部的变量所引用的乃是全局变量, 如此一来便允许您于函数之中着手对其进行修改。示例z 30 # z是全局变量 def modify_function(): global z # 使用global关键字声明z是全局变量 z 40 # 现在修改全局变量z print(f在函数内部修改后: z {z}) modify_function() print(f在函数外部: z {z}) # 输出修改后的值如果不使用关键字z 30 def modify_function_without_global(): z 40 # 这创建了一个新的局部变量而不是修改全局变量z print(f在函数内部: z {z}) # 输出40 modify_function_without_global() print(f在函数外部: z {z}) # 输出30全局变量z未改变常见注意事项总结经由把控这些概念, 您能够更具自信地处置当中的变量, 规避常见 , 持续练习中, 试着于各异场景里头运用这些概念,籍此去加深理解。进行更为深入的学习, 去探索, 那处于探索过程当中的内置函数, 以及模块, 还有类作用域, 以此来扩展您所拥有的知识。
返回列表