ToB企服应用市场:ToB评测及商务社交产业平台

标题: day10-内置函数和推导式 [打印本页]

作者: 慢吞云雾缓吐愁    时间: 2024-5-16 09:42
标题: day10-内置函数和推导式
1. 匿名函数

传统的函数的界说包括了:函数名 + 函数体。
  1. def send_email():
  2.     pass
  3. # 1. 执行
  4. send_email()
  5. # 2. 当做列表元素
  6. data_list = [send_email, send_email, send_email ]
  7. # 3. 当做参数传递
  8. other_function(send_email)
复制代码
匿名函数,则是基于lambda表达式实现界说一个可以没有名字的函数,例如:
  1. data_list = [ lambda x:x+100,  lambda x:x+110, lambda x:x+120 ]
  2. print( data_list[0] )
复制代码
  1. f1 = lambda x:x+100
  2. res = f1(100)
  3. print(res)
复制代码
基于Lambda界说的函数格式为:lambda 参数:函数体
  1. def func(a1,a2):
  2.     return a1 + a2 + 100
  3. foo = lambda a1,a2: a1 + a2 + 100
复制代码
匿名函数适用于简单的业务处置惩罚,可以快速并简单的创建函数。
练习题

根据函数写写出其匿名函数的表达方式
  1. def func(a1,a2):
  2.     return a1 + a2
  3. func = lambda a1,a2: a1+a2
复制代码
  1. def func(data):
  2.     return data.replace("苍老师","***")
  3. func= lambda data: data.replace("苍老师","***")
复制代码
  1. def func(data):
  2.     name_list = data.replace(".")
  3.     return name_list[-1]
  4. func = lambda data: data.replace(".")[-1]
复制代码
在编写匿名函数时,由于受限 函数体只能写一行,以是匿名函数只能处置惩罚非常简单的功能。
扩展:三元运算

简单的函数,可以基于lambda表达式实现。
简单的条件语句,可以基于三元运算实现,例如:
  1. num = input("请写入内容")
  2. if "苍老师" in num:
  3.     data = "臭不要脸"
  4. else:
  5.     data = "正经人"
  6. print(data)
复制代码
  1. num = input("请写入内容")
  2. data = "臭不要脸" if "苍老师" in num else "正经人"
  3. print(data)
  4. # 结果 =  条件成立时    if   条件   else   不成立
复制代码
lambda表达式和三元运算没有任何关系,属于两个独立的知识点。
把握三元运算之后,以后再编写匿名函数时,就可以处置惩罚再稍微复杂点的情况了,例如:
  1. func = lambda x: "大了" if x > 66 else "小了"
  2. v1 = func(1)
  3. print(v1) # "小了"
  4. v2 = func(100)
  5. print(v2) # "大了"
复制代码
2. 生成器

生成器是由函数+yield关键字创造出来的写法,在特定情况下,用他可以资助我们节流内存。
生成器的特点是,记载在函数中的实行位置,下次实行next时,会从上一次的位置基础上再继承向下实行。
应用场景

扩展
  1. def func():
  2.     print(111)
  3.     v1 = yield 1
  4.     print(v1)
  5.     print(222)
  6.     v2 = yield 2
  7.     print(v2)
  8.     print(333)
  9.     v3 = yield 3
  10.     print(v3)
  11.     print(444)
  12. data = func()
  13. n1 = data.send(None)
  14. print(n1)
  15. n2 = data.send(666)
  16. print(n2)
  17. n3 = data.send(777)
  18. print(n3)
  19. n4 = data.send(888)
  20. print(n4)
复制代码
3.内置函数


Python内部为我们提供了很多方便的内置函数,在此整理出来36个给大家来讲解。
4.推导式

推导式是Python中提供了一个非常方便的功能,可以让我们通过一行代码实现创建list、dict、tuple、set 的同时初始化一些值。
请创建一个列表,并在列表中初始化:0、1、2、3、4、5、6、7、8、9...299 整数元素。
  1. data = []
  2. for i in range(300):
  3.     data.append(i)
复制代码
练习题

小高级

总结

作业


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4