Функция (е) дихотомия и анонимные функции

дихотомия

#递归实现二分查找 li是列表   item是要查找的元素
def merge_search( li ,item ):
    #传来的列表每次都是新生成的,如果发现里面没有元素,则是查找到尽头都没找到
    if not li :
        return False

    mid = len(li)//2   #mid记录li的中间位置
    #检查一下 如果中间这个数就是要找的元素 返回真
    if li[mid] == item :
        return True
    # 如果mid比item大,说明item可能会出现在mid左边,对左边再查找
    elif li[mid]> item :
        return merge_search( li[:mid] ,item )
    # mid 比item小,说明item有可能在mid右边,对右边再查找
    else :
        return merge_search( li[mid+1:] , item )

if __name__ == '__main__':
    li = [1,2,3,4,5,6,7]
    print( merge_search(li , 0) )   #False
    print( merge_search(li , 1) )   #True

анонимная функция

анонимная функция, он не имеет никакого имени связывания, то есть, как только выздоровел, либо квадратные скобки бежать.

лямбда ключевое слово

# 普通python函数
def func(a, b, c):
    return a + b + c
    
print(func(1, 2, 3))
# 返回值为6


# lambda匿名函数
f = lambda a, b, c: a + b + c

print(f(1, 2, 3))
# 返回结果为6

Colon: до, б, показывает, что они являются параметрами этой функции.

анонимная функция не требуется, чтобы вернуться к возвращаемому значению, возвращаемое значение является результатом самого выражения.

Просто лямбда-выражение, тело функции гораздо проще, чем опр.

выражение лямбда тело, вместо кодового блока. Мы можем только упаковать ограниченную логику в лямбда-выражения.

лямбда-функция имеет свое собственное пространство имен, и не могут быть доступны за пределами своего собственного списка параметров или глобальных параметров пространства имен.

Преимущества функции Анонимные

При использовании Python, чтобы написать несколько сценариев, которые используют лямбда может сохранить определенные функции, сделать код более обтекаемым.

Для некоторых тезисов, функция повтора не используется в других местах, иногда функция имени также является проблема, вам не нужно рассмотреть вопрос об использовании лямбды имени

Использование лямбда иногда проще понять код и

Встроенные функции

Процесс-ориентированное программирование

Процессный: ядро ​​процесса является словом, то есть, процесс шагов для решения этой проблемы, на основе процессно-ориентированный дизайн программы, как дизайн, обтекаемые идеи программирования в процессе проектирования, весь процесс должны разработать из производственной линии сборки, это механический способ мышления

Преимущества и недостатки

Преимущества: определение архитектуры приложения, может упростить сложные проблемы, рационализировать

Недостатки: плохая масштабируемость, только один поток линия используется, чтобы решить проблему, так что процесс-ориентированной мульти часто нежелательные изменения программного обеспечения

рекомендация

отwww.cnblogs.com/einsam/p/10980574.html