Python函数嵌套实例

yipeiwu_com6年前Python基础

在Python中函数可以作为参数进行传递,而也可以赋值给其他变量(类似Javascript,或者C/C++中的函数指针);

类似Javascript,Python支持函数嵌套,Javascript嵌套函数的应用模式对Python适用;

复制代码 代码如下:

>>> def multiplier(factor):
... def multiple(number):
... return number * factor
... return multiple
...
>>>
>>> multiplier(3)(3)
9
>>> multiplier(4)(3)

与嵌套函数紧密相关的就是闭包特性,举一个简单的例子:

复制代码 代码如下:

>>> def test():
... a = {'name': 'wyj'}
... def f():
... return a['name']
... return f
...
>>> def test():
... a = {'name': 'wyj'}
... def f():
... return a['name']
... return a,f
...
>>> a,f = test()
>>> f()
'wyj'
>>> a['name'] = 'ljq'
>>> f()
'ljq'

例子3

#! /usr/bin/python
def yao1(a=1,b=32):
	def yao2(c=54):
		def yao3(d=3):
			def yao4(e=10):
				return a+b+c+d+e
			return yao4
		return yao3
	return yao2

print yao1()()()()

相关文章

Python编程实现双链表,栈,队列及二叉树的方法示例

本文实例讲述了Python编程实现双链表,栈,队列及二叉树的方法。分享给大家供大家参考,具体如下: 1.双链表 class Node(object): def __init__(...

利用一个简单的例子窥探CPython内核的运行机制

我最近花了一些时间在探索CPython,并且我想要在这里分享我的一些冒险经历。Allison Kaptur的excellent guide to getting started with...

python 二维矩阵转三维矩阵示例

如下所示: >>> import numpy as np >>> a = np.arange(12).reshape(3,4) >>&...

利用Python模拟登录pastebin.com的实现方法

利用Python模拟登录pastebin.com的实现方法

任务 在https://pastebin.com/网站注册一个账号,利用python实现用户的自动登录和创建paste。该任务需要分成如下两步利用python实现: 1.账号的自动登录...

Python使用flask框架操作sqlite3的两种方式

本文实例讲述了Python使用flask框架操作sqlite3的两种方式。分享给大家供大家参考,具体如下: 方式一:raw_sql import sqlite3 from flask...