python函数嵌套定义
python的这个特性是很特别的,与C#和C++都不一样。请看下面的例子
def outFun():
def innerFun_0():#1.在内部定义一个函数
print("i am first innerFun")
return def innerFun_1():#2.在内部定义另外一个函数
print("i am second innerFun")
return innerFun_0() #3.使用innerFun_0
innerFun_1() #4.使用innerFun_2 return outFun()#5.调用outFun函数
执行结果:
i am first innerFun
i am second innerFun
在outFun这个函数内部,定义了innerFun_0和innerFun_1,随后也使用了这两个函数。
其实完全可以吧这两个函数写在outFun的外面,如下,执行结果一样。
def innerFun_0():
print("i am first innerFun")
return def innerFun_1():
print("i am second innerFun")
return def outFun():
innerFun_0()
innerFun_1()
return outFun()#调用outFun函数
那么,问题来了,为啥python要搞这种方式呢,可能就是为了说明劳资怎么玩都可以,就是灵活
python函数嵌套定义的更多相关文章
- python笔记--3--函数、生成器、装饰器、函数嵌套定义、函数柯里化
函数 函数定义语法: def 函数名([参数列表]): '''注释''' 函数体 函数形参不需要声明其类型,也不需要指定函数返回值类型 即使该函数不需要接收任何参数,也必须保留一对空的圆括号 括号后面 ...
- Python函数的定义、参数传入与函数的调用
作为计算机代码的一种抽象方式,函数在Python中扮演了极为重要的角色.今天给大家介绍Python函数的定义.参数的传入以及调用方式.其中函数参数的传入方式为本节重点内容.Python函数的参数形式包 ...
- 孤荷凌寒自学python第十九天python函数嵌套与将函数作为返回对象及闭包与递归
孤荷凌寒自学python第十九天python函数嵌套与将函数作为返回对象及闭包与递归 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) Python函数非常的灵活,今天学习了python函数的以 ...
- 详解Python函数参数定义及传参(必备参数、关键字参数、默认可省略参数、可变不定长参数、*args、**kwargs)
详解Python函数参数定义及传参(必备参数.关键字参数.默认可省略参数.可变不定长参数.*args.**kwargs) Python函数参数传参的种类 Python中函数参数定义及调用函数时传参 ...
- Python--day12(三元表达式、函数对象、名称空间与作用域、函数嵌套定义)
今日主要内容 1. 函数默认值细节(*) 2. 数据类型补充:三元表达式.列表推导式.字典推导式 (***) 3. 函数对象:函数名的各种应用场景 (*****) 4. 名称空间与作用域:解释 ...
- python函数,定义,参数,返回值
python中可以将某些具备一定功能的代码写成一个函数,通过函数可以在一定程度上减少代码的冗余,节约书写代码的时间.因为有一些代码实现的功能我们可能会在很多地方用到. 1.函数的声明与定义 通过def ...
- Python--day13(函数嵌套定义,global、nonlocal、闭包函数、装饰器)
今日主要内容 1. 函数的嵌套定义 2. global.nonlocal关键字 3. 闭包及闭包的应用场景 4. 装饰器 1. 函数的嵌套定义 概念:在一个函数的内部定义另一个函数 为什么要有 ...
- day13(函数嵌套定义,global,nonlocal关键字,闭包,装饰器)
一,复习 ''' 1.函数对象:函数名 => 存放的是函数的内存地址 1)函数名 - 找到的是函数的内存地址 2)函数名() - 调用函数 => 函数的返回值 eg:fn()() => ...
- 函数嵌套定义,闭包及闭包的应用场景,装饰器,global.nonlocal关键字
函数的嵌套定义 在一个函数的内部定义另一个函数 为什么要有函数的嵌套定义: 1)函数fn2想直接使用fn1函数的局部变量,可以将fn2直接定义到fn1的内部,这样fn2就可以直接访问fn1的变凉了 2 ...
随机推荐
- MapServer Tutorial——MapServer7.2.1教程学习——第一节用例实践:Example1.1 A map with single layer
MapServer Tutorial——MapServer7.2.1教程学习——第一节用例实践:Example1.1 A map with single layer 一.前言 开始MapServer用 ...
- C# 用 WebClient 的 Post 方法向 WebServer 传输数据
帮朋友做一个通过Web简单传输数据的例子,百度了一下抄了段代码,完成,效果如下: 其中textBox1里面是客户端需要传输过去的数据,textBox2里面是接收到的返回数据. 代码如下: using ...
- [Leetcode 15]三数之和 3 Sum
[题目] Given an array nums of n integers, are there elements a, b, c in nums such that a + b + c = 0? ...
- Android stdio 报错 error invoking main method
打开Android stdio失败 报错:error invoking main method 想想前一天做了什么事?? 昨天把企图把Android Stdio文件包移盘,但是中途截止了,也就是说移动 ...
- oracle中数字保留几位小数的问题
需求:#将数字填充到对应金额单中 select substr(b.payMoney,length(b.payMoney),1) 分, substr(b.payMoney,length(b.payMon ...
- ubuntu1604使用之旅——网络配置
首先是虚拟机的设置是如图所示,桥接模式. 1.ifconfig,下图所示,ens32是本机的网卡,记住这个,有用. 2.输入:sudo gedit /etc/network/interfaces 默认 ...
- eclipse工具类及插件(Eclipse超好用的插件推荐)
https://blog.csdn.net/ghostxbh/article/details/80054948
- JavaWeb基础-过滤器监听器
过滤器 1定义:过滤器是一个服务器的组件,他可以截取用户端的请求与响应信息,并对这些信息进行过滤;过滤器可以动态地拦截请求和响应,以变换或使用包含在请求或响应中的信息. 2过滤器的工作原理: 3过滤器 ...
- Problem C: 类的初体验(III)
Description 定义一个类Data,只有一个double类型的属性和如下4个方法: 1. 缺省构造函数,将属性初始化为0,并输出“Initialize a data 0”. 2. 带参构 ...
- 一十九条优雅Python编程技巧
1.交换赋值 #不推荐 temp = a a = b b = a #推荐 a , b = b , a #先生成一个元组(tuple)对象,然后在unpack 2.Unpacking #不推荐 l = ...