"""
函数加强
1.函数的运行原理

- sum函数:函数基本定义性的内容
2.形式参数和实体参数
-
形式参数:函数在定义时编写的参数
-
实体参数:函数在调用时,传参后产生的参数
3.全局变量和局部变量
尽可能的避免全局变量的定义
-
全局变量:定义在函数外部的参数
-
局部变量:定义在函数内部的参数
-
局部变量的作用域:随栈帧的产生而创建,随栈帧的销毁而销毁
-
函数的调用本质就是压栈的过程,调用结束后弹栈
4.引用传递和值传递
-
引用传递:地址传递的过程
-
值传递:形参变实参的过程
5.函数的三个重要值
-
值:函数在定义时所创建的基本信息-一般存储在堆中
-
id():内存地址
-
type():函数的类型
"""
1.测试函数的运行原理
def sum(x,y):
res=x+y
return res
print(sum(10,20)) #30
print(sum) #<function sum at 0x0000016FBEF7B8A0>
!!!!引用传递的过程
lijian=sum
输出引用传递时,sum和lijian同时指向了sum的呢、、堆内存
print(lijian)
同样lijian这个变量也可以作为函数被调用
print(lijian(10,20))
内存地址信息
print(id(lijian)) #2134431348896
print(id(sum)) #2134431348896
print(type(lijian))
print(type(sum))