python---函数2
来源:互联网 发布:开放式网络是什么意思 编辑:程序博客网 时间:2024/06/03 18:54
1.递归函数
• 在写递归函数时要有一个明确的结束条件;
• 在递归时,问题规模要越来越小;
• 递归函数效率不高,函数调用是通过栈的数据结构实现的,
每调用依次,栈就会多一层,最多999层,否则会出现栈溢出。
####### 实例 #######
1)递归求阶乘
def fact(n):
if not isinstance(n, int):
print 'ERROR'
else:
if n == 1:
return 1
return fact(n-1)*n
print fact(5)
结果:120
2)实现二分的效果
def fun(n):
if not isinstance(n, int):
print 'ERROR'
else:
print n
b = int(n/2)
if b>0:
return fun(b)
fun(10)
结果:10
5
2
1
面向过程编程语言:c
面向函数编程语言:lisp,erlang
面向过程:
a = 13 + 10
b = a * 2
c = b -8
面向函数:
result = jian(multipy(add(13,10),2),8)
3. 高阶函数
函数可以当作参数去传递
def fun1(x,y,fun):
return fun(1,2)
print fun1(1,2,max)
结果:2
• 在写递归函数时要有一个明确的结束条件;
• 在递归时,问题规模要越来越小;
• 递归函数效率不高,函数调用是通过栈的数据结构实现的,
每调用依次,栈就会多一层,最多999层,否则会出现栈溢出。
####### 实例 #######
1)递归求阶乘
def fact(n):
if not isinstance(n, int):
print 'ERROR'
else:
if n == 1:
return 1
return fact(n-1)*n
print fact(5)
结果:120
2)实现二分的效果
def fun(n):
if not isinstance(n, int):
print 'ERROR'
else:
print n
b = int(n/2)
if b>0:
return fun(b)
fun(10)
结果:10
5
2
1
2.函数式编程
面向对象编程语言:java,c++, python面向过程编程语言:c
面向函数编程语言:lisp,erlang
面向过程:
a = 13 + 10
b = a * 2
c = b -8
面向函数:
result = jian(multipy(add(13,10),2),8)
3. 高阶函数
函数可以当作参数去传递
def fun1(x,y,fun):
return fun(1,2)
print fun1(1,2,max)
结果:2
阅读全文
0 0
- 函数2-python
- Python -- 函数2
- python 笔记2--函数
- Python 函数 (教程 2)
- Python基础-函数[2]
- python-2 什么是函数
- python函数2
- python---函数2
- python入门2-函数
- Python--day11 函数2
- python(2) ---字符串函数
- Python自学2:Python函数定义
- Learning Python : 2 . property函数
- python之函数总结2
- Learning Python 010 函数 2
- opencv-python(2):绘图函数
- python基础-内置函数2
- python函数应用(2)
- 选择语句+循环语句作业习题
- 文本文件读取
- 决策树算法原理
- JAVA UML 介绍
- 放大镜
- python---函数2
- pom文件
- 不受制于第三方通讯云,让你拥有一套完美的属于自己的IM通讯
- PAT:1006. 换个格式输出整数 (15)
- linux 限制网卡带宽
- Java访问修饰符
- python学习(5)——文件
- 梯度下降法
- docker 学习笔记