1.python函数基础

函数名: fun

函数体:1~3行

返回值:2

调用函数:fun() ,只有见到这个括号(),程序会根据函数名从内存中找到函数体,然后执行它。

2.函数的执行顺序

下面的fun将上面的fun覆盖掉了,因此,在Python中代码的放置位置是有要求的,不能随意摆放,函数体要放在被调用的语句之前。

3.函数的调用

第一种情况:

x(f),注意:x(f)中的f没有加括号(),即f为参数。将f作为参数传入x(),x()中的y()函数返回的是y即函数名所以没有执行y函数。所以最终打印出为无结果。

第二种情况:

x(f()),注意:x(f())中f后面是有括号的,即f作为函数传给x。将f()函数传给x()函数,先执行f()函数打印出2,再执行x()函数,因为x()中的y()函数返回的是y即函数名所以没有执行y函数。所以最终打印结果为2。

第三种情况:

x(f),注意:x函数中的y函数返回的值是y函数,即return y()。x(f)中f作为参数传给x函数,所以f()函数就不执行了,执行x函数,因为return y(),所以执行y函数打印出1。最终打印结果为1。

第四种情况:

x(f()),注意:x(f())中f后面是有括号的,即f作为函数传给x;x函数中的y函数返回的值是y函数,即return y()。将f()函数传给x()函数,先执行f()函数打印出2,再执行x函数,因为return y(),所以执行y函数打印出1。最终执行打印结果为2 1。

第五种情况:

x(f),注意:x(f)中f后面没有括号,即f作为参数传入x()函数。将f作为参数带入x函数执行,因为return y()所以执行y函数打印出1;再执行语句,此时相当于func()=f(),即开始执行f()函数打印出2。所以最终打印结果为1 2。

以上是按照我自己理解来总结的,不对或者有补充的地方欢迎指出来~~

或者参考大神们的总结,链接: http://www.cnblogs.com/feixuelove1009/p/5541632.html

声明:如需转载,请注明来源!

最新文章

  1. iOS---用LLDB调试,让移动开发更简单(一)
  2. 磁盘空间已满导致rabbitmq无法启动
  3. JWFD开源项目官方网站预览
  4. Number
  5. 021QTP之焦点(多思考)
  6. SAE、搜狐云景和百度云之初见
  7. [Network]Introduction and Basic concepts
  8. 加载进度圈,带遮罩层(jquery)
  9. Bad Hair Day [POJ3250] [单调栈 或 二分+RMQ]
  10. java的List列表转成Tree(树形)结构列表
  11. 浅析负载均衡的6种算法,Ngnix的5种算法。
  12. 【Netty】通俗地讲,Netty 能做什么?
  13. python 读写TXT,安装pandas模块。
  14. css基础示例代码
  15. MS SQL 2005 无法建立用户实例
  16. mysql -> 用户管理&数据类型_04
  17. RxJava 设计理念 观察者模式 Observable lambdas MD
  18. Python 字典 popitem() 方法
  19. Android基础之布局ConstraintLayout
  20. java grpc实例分析

热门文章

  1. 阻止check事件冒泡
  2. [译]Java 设计模式之组合
  3. (UML两个汇总)九种图。
  4. 苹果公司的新的编程语言 Swift 高级语言(十五)--协议
  5. 使用JSmooth制造java jar文件可以运行exe文件教程图像
  6. 算法回顾--N皇后问题简单回顾
  7. codeblock 设置背景颜色
  8. 【转】Android学习系列–App离线下载功能实现
  9. Metro UI 界面完全解析 (转载)
  10. BrnShop:自定义插件