资讯动态

day10函数基础

发布时间:2026/9/8 15:46:41 来源:尧图企业网站定制
1函数嵌套 可以在函数内部声明一些函数这些函数在函数的外界无法使用 def foo(): def bar(): print(bar功能) print(foo功能函数) bar() foo() foo功能函数 bar功能 # bar() 嵌套函数bar则无法在外界使用2作用域所谓作用域指代的是变量在python中代码执行过程中该变量的使用范围和生命周期字母 简称 释义 作用空间L 局部作用域 当前函数内的作用域 局部E 嵌套作用域 外部嵌套函数的作用域 局部G 全局作用域 函数外部所在命名空间 全局B 内建作用域 Python内置模块的命名空间 内置因为作用域的问题所以按不同作用域可以把变量划分2种局部变量与全局变量局部变量函数内部声明的变量默认情况下只有在函数运行时局部变量才会出现在内存中当函数执行结束内存中的局部变量就会被销毁所以局部变量无法被当前函数以外的地方使用全局变量函数外部声明的变量或者在函数内部显式声明为全局变量。默认在任意位置都可以使用从被声明的位置开始直到程序结束或者被del关键字删除2.1局部变量# 局部变量1 def func1(): # 函数内部声明的变量 num 100 print(num) func1() # 函数内部声明的变量是局部变量随着函数调用出现在内存中随着函数的结束被内存删除无法在当前函数以外的地方使用 # print(num) 报错 NameError: name num is not defined # 局部变量2 def func1(): def func2(): num 100 print(ffunc2, num{num}) func2() # print(ffunc2, num{num}) 报错在函数外都无法获取局部变量 func1()2.2全局变量# 全局变量1 # 在函数外面定义的变量就是全局变量 num 100 print(f函数外num{num}) def func(): # 函数内部也可以使用函数外部的变量前提是当前函数内部没有同名的局部变量 print(num) func() print(f函数外num{num}) 函数外num100 100 函数外num100 # 全局变量2 函数内部的局部变量如果与函数外部的全局变量名字一样则优先使用局部变量 num 10 def func1(): 作用域错误 UnboundLocalError: local variable num referenced before assignment 赋值之前使用了局部变量num print(num) num 20 func1() num 10 def func1(): num 20 print(num) func1()# 全局变量3 函数在有需要的情况下也可以声明全局变量或者在同名的情况下设置优先调用全局变量 num 10 # 全局变量所在的作用域是全局作用域 def func1(): # 通过global关键字可以设置函数内部的1个或者多个变量为全局变量 # 语法结构global 变量1,变量2,...... global num num 20 func1() print(num) # 20

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价