show | version | enable_checker |
---|---|---|
step |
1.0 |
true |
- 上次我们了解了 函数返回值
- 函数可以返回字符串
- 也可以返回整型变量
- 甚至可以返回NoneType类型的None
- 啥都不返回
- 其实最终也返回了个None
- 在函数中遇到了return
- 直接就返回了
- 后面的东西全被短路
- 什么是短路来着??🤔
- 在有水的时候
- 电路走的是水滴这条路
- 灯泡被短路
- 电池被烧坏
- 这种现象就是短路
- or 左边出现True
- and 左边出现False
- 就会将 右边短路
- 当时使用 print函数验证了一下
- 现在可以自己定义函数来验证短路的规律吗?
- 不要翻页
- 试着自己定义验证函数
- 函数已经定义好了
- 如何验证呢?
- 确实add左边为False的时候
- 右边部分
- 直接被短路
- 右边部分
- or左边为True的时候
- 右边部分
- 直接被短路
- 右边部分
- 函数中定义的那些局部变量后来怎么样了?
- a、b、c不是返回值
- 在函数返回之后
- 如何了呢?
- 调用的时候
- 会把当前调用的的地址压到函数栈中
- return的时候就回到这里
- 会把当前调用的的地址压到函数栈中
- 然后从f函数的开始进行执行
- 内部的这些a、b、c
- 都是int型的变量
- 生命周期就是 函数范围内
- 会指向相应的小数据池
- 函数结束后
- 这些int型变量的引用数减1
- 程序播放头跳回到调用的位置继续执行
- 这些是中间过程
- 不是最终需要的东西
- 随着函数过程的结束
- 这些中间过程中产生的变量
- 也就是这些帧上面的变量
- 也就消失不见
- 相关内存被释放了
- 调试的时候可以让函数快速返回吗?
- 尝试调试
- 进入sorry函数
- 输出了一个s
- 这时候如果直接按下r
- 直接跳出sorry函数
- r在这里是什么意思呢?
- 帮助文档
- r 的意思 就是return
- 继续执行直到当前函数结束
- 我们这次了解了函数返回值
- 函数可以返回字符串
- 也可以返回整型变量
- 甚至可以返回NoneType类型的None
- 啥都不返回
- 其实最终也返回了个None
- 函数必须返回
- 我们能做点好玩的函数么?🤔
- 我们下次再说👋