zoukankan      html  css  js  c++  java
  • 递归和对面对象编程初步

    1 递归调用

      程序自己调用自己就是递归

      递归特点: 运算类似, 一般具有递推公式的

      递归的写法:

        要设置明确的停止情况

        在调用自身的时候, 自身函数本身不作为值参与运算的话更胜内存

      利用二分法查找有序序列的值的递归写法如下

    data = [1, 3, 6, 7, 9, 12, 14, 16, 17, 18, 20, 21, 22, 23, 30, 32, 33, 35]
    
    def search(num, data):
        if len(data) == 1 and data[0] != num:
            print("没有该值")
            return
        midle = int(len(data) / 2)
        if num < data[midle]:
            data = data[0:midle]
            search(num, data)
        elif num > data[midle]:
            data = data[midle:]
            search(num, data)
        else:
            print("找到了")
            return
    
    search(1, data)
    

    2 面向对象编程初步

      类的定义

    class 类名:
        类体

      类中的方法第一个参数是self, 表示对象自身

      对象可以通过.的方式绑定新的方法或者变量

      对象可以直接调用类中的值

      通过类名可以调用函数, 只不过需要传入self对应的参数

      类名.变量可以直接访问类中的变量

        可以通过定义__init__(self)函数来定义构造方法, 但是python没有默认构造方法, 因此如果定义了__init__()方法, 那么生成对象的时候一定要对应传入参数

      

    人若有恒 无所不成
  • 相关阅读:
    PetaPoco.Core.ttinclude修改
    NoCache
    MapHttpRoute
    打印print
    Throttling ASP.NET Web API calls
    CodeFirst进行数据迁移之添加字段
    sql 获取filename
    image onclick
    验证
    Unity3d疑难问题解决
  • 原文地址:https://www.cnblogs.com/weihuchao/p/6709494.html
Copyright © 2011-2022 走看看