day11:return关键字&全局/局部变量&函数名的使用&函
关键字:return 自定义函数的返回值,return可以把值返回到函数的调用处 # 1.return的返回类型 def func(): return 1 return 3.14 return "abc" return [] return () return {"a":1} pass res=func() 如果不定义return,默认返回的是None print(res) 2.在执行完return 之后,立刻终止函数,后面的代码不执行 print(1) print(2return 3 立刻终止函数,后面的print(4)和print(5)不执行 print(4print(5) res =print(res) for i in range(3): if i==2: return 1 (i) res = func() print(res) 0 1 1 3.模拟简单的计算器 + - * / func(sign,num1,num2): if sign=="+": res= num1+num2 elif sign==-: res =num1-*: res = num1*/: if num2 ==0: return 除数不能为0,老弟 res = num1/else这个本计算器真算不了" return res res = func(",3,5) res = func(,0) res = func(&print(res) 全局变量和局部变量 局部变量:在函数内部定义的变量(局部命名空间) 1.局部变量 1.局部变量 定义局部变量 a=5 获取局部变量 (a) 修改局部变量 a=10 (a) func() print(a) error 不能在全局调用局部变量 2.全局变量 2.全局变量 # 定义全局变量 b=10 获取全局变量 (b) 修改全局变量 b=20 可以在函数内部获取全局变量 (b) func() 3.使用global在函数内部创建全局变量 3.使用global在函数内部创建全局变量 global c c=200 func() print(c) 4.使用global在函数内部修改全局变量 4.使用global在函数内部修改全局变量 d=300 d d=400print(d) 5.总结: 可以使用global关键字在函数内部定义一个全局变量 ? 函数名的使用 1.函数名是一个特殊的变量,可以把函数当做变量对它赋值 print(我是func函数return 1 1.函数名是个特殊的变量,可以当做变量赋值 a=你好" (a) a= a() 函数可以像变量一样销毁 del a a() 2.函数名可以作为容器类型数据的参数 2.函数名可以作为容器类型数据的元素 func1(): 我是func1函数) func2(): 我是func2函数 func3(): 我是func3函数) lst=[func1,func2,func3] in lst: (i) i() func1() func2() func3() 3.函数名可以作为函数的参数 3.函数名可以作为函数的参数 ) func4(f): f() 我是func3函数 func4(func3) 4.函数名可以作为函数的返回值 4.函数名可以作为函数的返回值 func(f): f res = func(func2) f---> func2 -----> res=func2() res() 5.__doc__ 或者help查看文档 __doc__ 或者help查看文档 func(a): """ 功能:xxxx 参数:a 返回值:1 """ xxxxreturn 1 help(func) res = func.__doc__ (res) 输出结果: 功能:xxxx 参数:a 返回值:1 ?函数的嵌套 1.一个简单的例子 outer(): inner(): 我是inner函数) inner() outer() inner() 调用外部函数时,内部函数不可以再函数外部调用! 1.内部函数可以直接在函数外部调用吗?不行 2.函数嵌套案例 外层是outer,内层是inner,最里层是smaller,调用smaller里面的所有代码 smaller(): 我是smaller函数nonlocal关键字 |