Python爬虫-第二章-2-函数

时间:2022-12-27 11:20:53
  • sorted - 排序
  • filter - 筛选
  • map - 映射
# Demo Describe:常用内置函数 

'''
本章内容:
sorted - 排序
sorted(可迭代数据类型,显示顺序,key=排序规则)
filter - 筛选
filter(删选规则,可迭代数据类型)
map - 映射
map(映射规则,可迭代数据类型)

'''

lst0 = [9, 45, 2, 55, 365, 3, 33, 78, 75, 71, ]
ret = sorted(lst0)
print(ret) # [2, 3, 9, 33, 45, 55, 71, 75, 78, 365]

# start--------1,sorted简单示例----------------------
'''
按照字符长度排序
'''
lst = ['两仪式', '可以什么都不做', '测试变更用', '让家人幸福']


# 定义排序规则
def SortedFun(item):
return len(item)


result = sorted(lst, reverse=False, key=SortedFun)
print(result) # ['两仪式', '测试变更用', '让家人幸福', '可以什么都不做']

result1 = sorted(lst, reverse=False, key=lambda x: len(x))
print(result1) # ['两仪式', '测试变更用', '让家人幸福', '可以什么都不做']

# end--------1,sorted简单示例----------------------

# start--------2,filter简单示例----------------------
'''
筛选出含有'两'的项
'''
lst1 = ['两仪式', '可以什么都不做', '测试变更用', '让家人幸福', '两栋', ]
result3 = filter(lambda x: x.startswith('两'), lst1)
print(list(result3)) # ['两仪式', '两栋']

# end--------2,filter简单示例----------------------

# start--------3,map简单示例----------------------
'''
计算出列表中的平方值
'''
lst2 = [1, 2, 3, 4, 5, 6, 7, 8, 9]

result4 = [i * i for i in lst2]
print(result4) # [1, 4, 9, 16, 25, 36, 49, 64, 81]

result5 = map(lambda x: x * x, lst2)
print(list(result5)) # [1, 4, 9, 16, 25, 36, 49, 64, 81]

# end--------3,map简单示例----------------------

  • 闭包操作
# Demo Describe:闭包操作

'''
闭包的作用
1.让变量常驻内存(同一线程中,持续记录变量的变化)
2.闭包中的变量只能通过函数调用去更改,避免全局变量被随意改变的风险
内层函数调用外层变量或参数,将内层函数作为变量返回

'''


def funClosure():
a = 10
b = 0

def funLocale():
nonlocal a, b
a = 20
b += 1
return a, b

return funLocale


fun = funClosure()

fun1 = fun()
print(fun1) # (20, 1)

fun2 = fun()
print(fun2) # (20, 2)