• python递归和内置方法


    递归:函数调用自身

    核心:递进的时候能够达到一个结果,问题规模越来越小(不一定要真正的达到);设置一个条件,能够让最后一次函数调用结束

    练习:

    ​ 第一个人的姓名是16岁,后面每个人的年龄都比前一个大2岁,求第6个人的年龄

    age = 16
    def age_func(x):
        global age # 设置为全局变量
        if x == 0:#递归的终止条件
            return age
        return age_func(x - 1) + 2
    
    age_func(5)
    
    '''
    age_func(5)    return age_func(4) + 2
    age_func(4)    return age_func(3) + 2 
    age_func(3)    return age_func(2) + 2 
    age_func(2)    return age_func(1) + 2 
    age_func(1)	   return age_func(0) + 2 
    age_func(0)    teturn 16
    
    再往回退
    
    age_func(1)    return 18
    age_func(2)    return 20
    age_func(3)    return 22
    age_func(4)    return 24
    age_func(5)    return 26
    
    完毕
    '''
    

    常见内置方法

    # bytes():解码字符
    res = '你好'.encode('utf8')
    print(res) #b'xe4xbdxa0xe5xa5xbd'
    
    res = bytes('你好',encoding='utf8')
    print(res) #b'xe4xbdxa0xe5xa5xbd'
    
    
    # chr()/ord():数字转字符/字符转数字
    print(chr(65)) #A
    print(ord('A')) #65
    
    # divmod():分栏(取整和取余)
    print(divmod(10, 3)) #(3, 1)
    
    
    # enumerate():带有索引的迭代
    l = ['a', 'b', 'c']
    for i in enumerate(l):
        print(i)
     '''
    (0, 'a')
    (1, 'b')
    (2, 'c')
     '''
    
    
    # eval():把字符串翻译成数据类型,并执行里面的运算
    lis = '[1, 2, 3]'
    lis_eval = eval(lis)
    print(lis_eval) #[1, 2, 3]
    
    
  • 相关阅读:
    自我介绍
    工作流
    spring框架
    关于建立内部会议讨论规范的想法
    论文第3章:移动绘图平台的架构设计
    迭代器、推导式、函数式编程学习笔记
    Python装饰器学习(九步入门)
    Inkpad绘图原理浅析
    从零开始创建一个插件
    Entity Framework的启动速度优化
  • 原文地址:https://www.cnblogs.com/michealjy/p/11352415.html
Copyright © 2020-2023  润新知