python函数使用易错举例
关于嵌套:
嵌套使用中, retrun inner ---> 返回的是函数的地址
retrun inner() : ---> 运行inner()函数 ---> 运行inner()函数后的返回值a(假设)返回上级 --> retrun inner()得到返回值a
如果函数没有指定返回值,那么默认的返回值就是 None
举例1:
name = "老师"def outer():name = "小屁孩"def inner():print(name)return inner()ret = outer()
print(ret)#
运行结果:
举例2(易错,与举例1对比):
这里要注意的是,inner是属于 outer内部的函数,因此,“ 即使单独运行 ” inner内部的函数,其内部的参数没有定义的话,也会先去从它的上级函数找,这里inner的上级函数就是 outer
name = "老师"
def outer():name = "小屁孩"def inner():print(name)return innerret = outer()
ret() # 相当于运在outer当中运行了inner
print("ret = outer(): ",ret)
result = ret()
print("result = ret(): ",result) # 相当于运在outer当中运行了inner,并且要了inner的返回值
参考文献:
python基础-基础知识考试_day5 (包括:函数_递归等知识) - 努力哥 - 博客园
https://www.cnblogs.com/nulige/p/6128674.html,第30题
举例3:
这里需要注意的是,形参func存放的是外部全局定义的函数show的地址。
outer(show)()运行过程: a = outer(show) --> a()
name = "老师"def outer(func):print("outer!!")def inner():name = "李杰"func()return innerdef show():print("show!!")print(name)outer(show)()
运行结果:
举例4(与举例3区别):
name = "老师"def outer(func):print("name is given when ==>>func starts",name)def inner(name):print("name is given when ==>>inner starts",name)name = "李杰"func(name)return innerdef show(name):print("name is given when ==>>show starts",name)print(name)outer(show)(name)
转载于:https://www.cnblogs.com/jyfootprint/p/9409912.html
python函数使用易错举例相关推荐
- python函数使用易错点_Python易错例题
为了更好检测效果,请在作答时最好不要复制代码去执行 第一题(实践) 请使用zip函数将已给dict的key和value倒置 原dict: {'name':'老王','age':'48','man or ...
- python函数使用易错点_大部分人都会忽略的Python易错点总结
python中复数实现(-2) ** 0.5和开根号sqrt(-2)的区别 (-2)**0.5和sqrt(-2)是不同的,前者是复数后者是会报错的. print((-2)**0.5) #输出:(8.6 ...
- python 函数嵌套 报错_《Python》 函数嵌套、闭包和迭代器
一.函数的嵌套: 1.函数的嵌套调用 defmax2(x,y): m= x if x>y elseyreturnmdefmax4(a,b,c,d): res1=max2(a,b) res2=ma ...
- c语言 void swap,C语言的swap函数的易错点
程序一:交换值 #include void swap(int *x , int *y){ int *temp; temp = x; x = y; y = temp; } void main(){ in ...
- 类模板 重载运算符 易错
在类模板中定义重载运算符模板函数,易错地方如下 例 错误(1) #include <iostream> using namespace std; template <typename ...
- python必备基础代码-新手上路必学的Python函数基础知识,全在这里了(多段代码举例)...
原标题:新手上路必学的Python函数基础知识,全在这里了(多段代码举例) 导读:函数是Python中最重要.最基础的代码组织和代码复用方式.根据经验,如果你需要多次重复相同或类似的代码,就非常值得写 ...
- 北理 嵩天老师 Python程序设计 课后作业易错题总结
Python程序设计课后作业易错题总结 最近小c君在学习北理的嵩天老师在中国大学MOOC上发布的,<Python程序设计>课程. 下面是我总结该课程课后作业的易错题,分享给大家.同时非常推 ...
- python函数第二次运行报错_Python学习笔记2-函数、高级特性
函数 调用函数 要调用一个函数,需要知道函数的名称和参数,比如求绝对值的函数abs,只有一个参数 >>> abs(100) 100 >>> abs(-20) 20 ...
- python 判断点在随机多边形内_初中数学必须掌握的28个考点及60个易错点,收藏起来慢慢看!...
中学大课堂初中各科学习必备(海量学习资源)关注 来源:初中生学习(ID:czsxuexige) 初中的学习不同于小学,在初中数学学习中,由于数学知识点难度的提升,更为看中的是孩子们的数学逻辑思维能力, ...
最新文章
- centos7 更新firefox版本
- libc.so.6(GLIBC_2.14)(64bit) is needed by...问题的解决办法
- python 什么是上下文管理器(ContextManager)?
- Python 计算机视觉(二) —— OpenCV 基础
- 【推荐系统】基于物品的协同过滤算法
- CSS里:focus-within 的作用和用法
- PowerDesigner的使用二
- 深入了解Struts2返回JSON数据的原理及具体应用范例
- 为什么unity 安装完模块还是找不到sdk_Unity填坑笔记(四)——移植UWP平台
- Exceeded maximum number of retries. Exceeded max scheduling attempts 3 for instance
- windows做ntp server,linux做ntp client端的配置方法
- 腾讯游戏规范直播:以后将严禁这些行为!
- 利用jsonp实现跨域请求
- js 弹出提示信息,并跳转指定页面代码分享
- 三星s9Android9内测申请链接,国行三星S9/S9+开启安卓9.0内测
- 巧用讯飞TTS进行文本合成语音(LINUX操作系统)
- 装饰工程预算软件测试自学,学预算要多久能学出来 预算没人带怎么自学
- 如何注册PayPal账户
- VVIC搜款网平台API接口
- 基于Citrix的云桌面远程连接Mac机
热门文章
- java form 上传文件_java通过表单进行文件上传的几种方法
- c cuda 指定gpu_GPU并行编程:熟练使用CUDA C语言
- android调用so封装jni,GitHub - Michelle0716/AndroidJniDemo1: 安卓对c进行so文件打包,并以jni的形式进行调用...
- 登录id 黑苹果_黑苹果MacOSCatalina无法登录AppStore修复
- 10位IT领袖给应届毕业生的10条忠告
- leetcode 322. 零钱兑换 思考分析
- 数据库系统数据库管理系统_数据库管理系统介绍
- 学java要学vue吗_学vue之前必看
- 【计算机网络】TCP IP通信处理过程
- yii html 添加下拉框,php – Yii2下拉列表:在我的选项中添加像data-food =“…”这样的html标记...