• 8.14 day15


    递归

    1.什么是函数递归

    函数的嵌套调用是:函数嵌套函数。函数的递归调用:它是一种特殊的嵌套调用,但是它在调用一个函数的过程中,又直接或间接地调用了它自身。2

    2.直接调用

    直接调用指的是:直接在函数内部调用函数自身。

    3.间接调用

    间接调用指的是:不在原函数体内调用函数自身,而是通过其他的方法间接调用函数自身。

    递归必须要有两个明确的阶段:

    1. 递推:一层一层递归调用下去,进入下一层递归的问题规模都将会减小
    2. 回溯:递归必须要有一个明确的结束条件,在满足该条件开始一层一层回溯。

    递归的精髓在于通过不断地重复逼近一个最终的结果。

    为什么要用递归

    递归的本质就是干重复的活,但是仅仅是普通的重复,我们使用while循环就可以了

    内置函数

    1.bytes()

    解码字符。

    res = '你好'.encode('utf8')
    print(res)
    b'xe4xbdxa0xe5xa5xbd'
    res = bytes('你好', encoding='utf8')
    print(res)
    b'xe4xbdxa0xe5xa5xbd'
    

    2.chr()/ord()

    chr()参考ASCII码表将数字转成对应字符;ord()将字符转换成对应的数字。

    print(chr(65))
    A
    print(ord('A'))
    65
    

    3.divmod()

    分栏。

    print(divmod(10, 3))
    (3, 1)
    

    4.enumerate()

    带有索引的迭代。

    l = ['a', 'b', 'c']
    for i in enumerate(l):
        print(i)
    (0, 'a')
    (1, 'b')
    (2, 'c')
    

    5.eval()

    把字符串翻译成数据类型。

    lis = '[1,2,3]'
    lis_eval = eval(lis)
    print(lis_eval)
    [1, 2, 3]
    

    6.hash()

    是否可哈希。

    print(hash(1))
    1
    

    面向过程编程

    面向过程编程是解决问题的一种思想,相当于武林门派,武林门派之间没有好坏之分,因此它与我们之后学习的面向对象编程其实没有好坏之分。

    面向过程编程,核心是编程二字,过程指的是解决问题的步骤,即先干什么、后干什么、再干什么、然后干什么……

    基于该思想编写程序就好比在设计一条流水线,面向对称编程其实是一种机械式的思维方式。

    当我们写登录功能,我们首先需要输入账号、密码,然后认证两次密码是否相同,然后从数据库中读取密码验证用户密码输入是否正确,然后输入验证码……之后,我们就能够实现登录功能。这样把登录功能问题流程化,进而是解决问题的思路非常清晰。

    优点:复杂的问题流程化,进而简单化。

    生产汽水瓶的流水线,没办法生产特斯拉。流水线下一个阶段的输入与上一个阶段的输出是有关联的。因此他的扩展性极差。

    缺点:扩展性差。

  • 相关阅读:
    [ios][swift]提示框,并自动消失
    [ios][switf]页面跳转
    [ios][swift]UIButton
    [ios][swift]文本框UITextField用法
    html分割线
    html里 调整字间距
    php数字补零的两种方法
    PHP格式化数字和SMARTY格式化数字的方法
    CSS控制文字,超出部分显示省略号
    指定DIV局部刷新的简单实现,很简单,但是网上搜到的大部分都很复杂
  • 原文地址:https://www.cnblogs.com/bjlxxbj/p/11354428.html
Copyright © 2020-2023  润新知