2020/1/15@python函数编程与高阶函数////安全方向之渗透测试(1)
python函数编程
把函数作为参数传递给另外的函数
找到符合条件下的最小对象
def get_min(target, func_condition):
min_value=target[0]
for i in range(1,len(target)):
if func_condition(min_value)> func_condition(target[i]):
min_value=target[i]
return min_value
降序排列
def order_by_descending(target,func_condition):
for r in range(len(target)-1):
for c in range(r+1,len(target)):
if func_condition(target[r]< func_condition(target[c]):
target[r], target[c]=target[c],target[r]
![
万能排序
自定义万能排序方法
def sort(target,func_condition):
for r in range(len(target)-1):
for c in range(r+1, len(target)):
if func_condition:
target[r],target[c]=target[c],target[r]
自定义万能排序方法具体例子
def sort1(target,func_condition):
for r in range(len(target)-1):
for c in range(r+1,len(target)):
if func_condition(target[r],target[c]):
target[r],target[c]=target[c],target[r]
list01=[3,34,5,6,8]
sort1(list01,lambda e1,e2:e1<e2)
print(list01)
def sort(target,func_condition):
"""
万能排序
:param target: 需要排序的数据
:param func_condition: 排序的逻辑
func_condition 类型是函数,参数是列表中的连个元素
返回值是比较的结果
方法体是比较的条件
:return:
"""
for r in range(len(target)-1):
for c in range(r+1,len(target)):
if func_condition(target[r],target[c]):
target[r],target[c]=target[c],target[r]
#共性(func_condition)提取出来,个性(具体排序条件)单独去定义
外部嵌套作用域 local关键词,python语言特性只可以访问不可更改,如果想更改,需要声明关键字 nonlocal