函数的递归

1.函数的递归的定义

函数的递归调用:是函数嵌套调用的一种特殊形式

具体是指:在调用一个函数的过程中又直接或者间接的调用到本身,是一个死循环,最大递归是1000次,超出之后报错。

2.函数递归的调用

# 直接调本身
def f1():
    print('是我还是我')
    f1()
f1()

# 间接调用
def f1():
    print('f1')
    f2()

def f2():
    print('f2')
    f1()

作用:一段代码的循环运行方式的方案有两种
1.是while true循环
2.函数的递归--return结束函数的调用

3.递归调用的两个阶段

回溯:一层一层调用下去
递推:满足某种结束条件,结束递归调用,然后一层一层返回

递归调用的案列

l=[1,[1,2],[1,[1,2],[1,2,3]]]
# 需求把l里面的数据打散取出来
def f1(l):
    for x in l:
        if type(x) is list: #如果循环出来的是列表则继续循环判断
            f1(x) 
        else:
            print(x)

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:函数的递归 - Python技术站

(0)
上一篇 2023年4月2日 下午5:10
下一篇 2023年4月2日

相关文章

  • JWT的介绍和使用

    JWT的含义 Json web token(JWT),是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准(RFC 7519),该token被设计为紧凑且安全的,特别适用于分布式站点的单点登录(sso)场景,JWT的声明一般被用来在身份提供者和服务者间传递被认证的用户身份信息,以便于从资源服务器获取资源,也可以增加一些额外的其他业务逻辑所必须的声…

    2023年4月2日
    00
  • 修改密码弹出框搭建

    前端代码搭建 主要利用的是bootstrap3中js插件里的模态框版块 <li><a href=”” data-toggle=”modal” data-target=”.bs-example-modal-lg”>修改密码</a></li> <div class=”modal fade bs-example…

    Python开发 2023年4月2日
    00
  • 微信小程序的点击事件、页面跳转、数据绑定、数据修改、获取用户信息及定位、for指令、获取用户上传图片

    小程序中实现页面跳转 对标签绑定点击事件 data是点击时传入的参数 <view bindtap=”clickMe” data-nid=”123″ data-name=”SD” >点我跳转</view> /** * 用户点击事件 */ clickMe(e){ console.log(e) var nid = e.currentTarg…

    Python开发 2023年4月2日
    00
  • 序列化类高级用法之source、SerializerMethodField和断言assert

    序列化类高级用法之source 使用source,字段参数,可以修改序列化字段名字 原本序列化器中字段名,必须和表中的字段名一样,不一样会报错 我们可以通过source字段来改变序列化器中的字段名,使得前端在展示的时候也修改一下字段名!! source也可以做跨表查询,通过外键字段,表名点外键出去的字段名字 class BookSerializer(seri…

    2023年4月2日
    00
  • 如何制作验证码

    推导步骤1:在img标签的src属性里放上验证码的请求路径 补充1.img的src属性: 1.图片路径 2.url 3.图片的二进制数据 补充2:字体样式 我们计算机上之所以可以输出各种各样的字体样式,其内部其实对应的是一个个以.ttf结尾的文件 由于img的src属性里可以放图片的二进制数据,因此我们可以在src里放上图片的请求路径,返回的是一个图片的二进…

    Python开发 2023年4月2日
    00
  • 免费课页面前端搭建和后端课程分类接口、课程群查接口设计

    免费课页面前端搭建 点击查看代码 <template> <div class=”course”> <Header></Header> <div class=”main”> <!– 筛选条件 –> <div class=”condition”> <ul class=”…

    Python开发 2023年4月2日
    00
  • 自动生成路由和action的使用

    自动生成路由 普通cbv视图形式的路由: path(‘books4/’, views.Book4View.as_view()), re_path(‘books4/(?P<pk>\d+)’, views.Book4DetailView.as_view()) 继承了ViewSetMixin及其子类的视图路由: path(‘books5/’, view…

    Python开发 2023年4月2日
    00
  • 重构后台的django项目目录、配置开发环境、添加环境变量

    重构项目目录 celery_task: logs:项目运行时/开发时日志目录包 luffapi:项目同名文件夹 apps:项目所有应用的集合文件夹 libs:第三方类库的保存目录[第三方组件、模块] – 包 media:用户提交的文件目录文件夹 settings:配置目录,包含开发时的配置文件和上线时的配置文件 utils:多个模块[子应用]的公共函数类库[…

    2023年4月2日
    00
合作推广
合作推广
分享本页
返回顶部