首页 > 编程语言 > 详细

python基础之函数变量、匿名、递归

时间:2021-01-13 14:37:04      阅读:21      评论:0      收藏:0      [点我收藏+]

一、函数的基本类型

  1、无参数,无返回值,一般用于提示信息打印;

  2、无参数,有返回值,多用于数据采集,比如获取系统信息;

  3、有参数,无返回值,多用在某些不需要返回值的参数设置;

  4、有参数,有返回值,一般是计算型的

 

二、变量

  1、局部变量与全局变量重复定义时,优先使用局部变量;

  2、函数内部修改全局变量时,必须用global关键字声明;

 

三、引用

  1、函数调用时,实参传递的就是对象的引用;

  2、函数内部的处理是否会影响到函数外部的数据变化;

 

五、匿名函数

  1、 lambda 参数1,参数2,参数3:表达式;

  2、匿名函数表达式只有一个,不是一个代码块,只能满足简单场景简单逻辑;

  3、自带return,结果就是表达式计算后的结果;

test = lambda x,y:x+y
print(test(1,3))

4

  4、选择逻辑

test = lambda x,y:x if x>y else y
print(test(1,3))
rs = (lambda x,y:x if x>y else y)(16,12)
print(rs)

3
16

  5、等效双分支

age = 18
print(可以参军 if age>18 else 继续上学)
继续上学

 

六、递归函数

  1、递归函数:函数内部不调用其他的函数,而是自己本身;

  2、必须有一个结束条件,否则无法结束直到到达最大递归深度报错;

def diguiJC(n):
    if n==1:
        return 1  #递归边界
    else:
        return n*diguijiecheng(n-1)
print(diguiJC(5))

120

  3、优点:逻辑简单、定义简单,可以把复杂任务分解成更简单的子问题,比使用一些嵌套迭代更容易;

  4、缺点:容易导致栈溢出,内存资源紧张,甚至内存泄漏;

#递归案例,模拟实现树形结构的遍历
import os  #引入文件操作模块
def findFile(file_Path):
    listRs = os.listdir(file_Path)  #得到该路径下所有文件夹
    for fileitem in listRs:
        full_path = os.path.join(file_Path,fileitem)  #获取完整的文件路径
        if os.path.isdir(full_path):  #判断是否是文件夹
            findFile(full_path)
        else:
            print(fileitem)
    else:
        return

findFile(rD:\BaiduNetdiskDownload\Z-终J笔记)

ZJBJ.2020.EP01.1080p.WEB-DL.H264.AAC-公众号:闲影放映室.rar
ZJBJ.2020.EP02.1080p.WEB-DL.H264.AAC-公众号:闲影放映室.rar
ZJBJ.2020.EP03.1080p.WEB-DL.H264.AAC-公众号:闲影放映室.rar
ZJBJ.2020.EP04.1080p.WEB-DL.H264.AAC-公众号:闲影放映室.rar

 

python基础之函数变量、匿名、递归

原文:https://www.cnblogs.com/5947l/p/14270677.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!