博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python 函数式编程
阅读量:5049 次
发布时间:2019-06-12

本文共 1488 字,大约阅读时间需要 4 分钟。

函数式编程

定义函数的方法:

python中函数定义方法: def test(x):    "The function definitions"    x+=1    return x     def:定义函数的关键字test:函数名():内可定义形参"":文档描述(非必要,但是强烈建议为你的函数添加描述信息)x+=1:泛指代码块或程序处理逻辑return:定义返回值调用运行:可以带参数也可以不带函数名()

定义一个函数必须要有个return 结束,把函数当作一个变量去看待,如果没有return python解释器会隐式的返回None

局部变量和全局变量

局部变量名字和全局变量尽量不要同名,当全局变量与局部变量同名时:

在定义局部变量的子程序内,局部变量起作用;在其它地方全局变量起作用。
 

嵌套函数和作用域

name='alex'def foo():    name='lhf'    def bar():        print(name)    return barfunc=foo()func()例二:name='alex'def foo():    name='lhf'    def bar():        name='wupeiqi'        def tt():            print(name)        return tt    return barfunc=foo()func()()

 

递归调用函数

调用一个函数的过程中直接或间接调用自身本身

#_*_coding:utf-8_*___author__ = 'Linhaifeng'import timeperson_list=['alex','wupeiqi','yuanhao','linhaifeng']def ask_way(person_list):    print('-'*60)    if len(person_list) == 0:        return '没人知道'    person=person_list.pop(0)    if person == 'linhaifeng':        return '%s说:我知道,老男孩就在沙河汇德商厦,下地铁就是' %person    print('hi 美男[%s],敢问路在何方' %person)    print('%s回答道:我不知道,但念你慧眼识猪,你等着,我帮你问问%s...' %(person,person_list))    time.sleep(3)    res=ask_way(person_list)    # print('%s问的结果是: %res' %(person,res))    return resres=ask_way(person_list)print(res)

1. 必须有一个明确的结束条件(函数结束点return)

2. 每次进入更深一层递归时,问题规模相比上次递归都应有所减少

3. 递归效率不高,递归层次过多会导致栈溢出(在计算机中,函数调用是通过栈(stack)这种数据结构实现的,每当进入一个函数调用,栈就会加一层栈帧,每当函数返回,栈就会减一层栈帧。由于栈的大小不是无限的,所以,递归调用的次数过多,会导致栈溢出)

 

 函数式编程

参考:https://www.cnblogs.com/gui-zi/p/7156185.html

 

转载于:https://www.cnblogs.com/pangrou/p/9377346.html

你可能感兴趣的文章
图像增强
查看>>
Android 迷之Version管理
查看>>
类变量与实例变量、析构函数、私有属性与私有方法
查看>>
linux_宿主目录
查看>>
[译] 如何调试CSS的跨浏览器样式bug
查看>>
纯虚函数
查看>>
python基础
查看>>
ServletContext对象
查看>>
HTML表格及网页编辑
查看>>
mysql事务
查看>>
[最大环+缩点+BFS]codeforces Round 95 Div2
查看>>
asp.net 获取服务器及客户端的相关信息
查看>>
Python基础01
查看>>
Bit,Byte,WORD,DWORD区别和联系
查看>>
英语中咖啡表示
查看>>
kali更新源
查看>>
Office PDF如何批量删除书签
查看>>
socket的bind函数是不是只能绑定本地IP,不能绑定外网IP么?
查看>>
Go语言值,指针,引用类型
查看>>
PHP的类中的常量,静态变量的问题。
查看>>