十四天:匿名函数

目录

  • 匿名函数

    • max/min 返回最大值/最小值
    • fileter 筛选
    • map 映射
  • 内置函数
    • 或许能用到的
    • 不一定用的到的
  • 异常处理的部分用法

匿名函数

匿名就是没有名字,所以他就没办法调用,只能和某些方法联用

匿名函数语法 :lambda 参数:返回值

但是你如果真的想调用匿名函数,也可以赋值,但是他就变成了有名函数

f = lambda x,y : x**y
res = f(1,2)
print(res)

匿名函数基本上都是和内置方法联用

max/min 返回最大值/最小值

salary_dict = {
     'nick': 3000,
     'jason': 100000,
     'tank': 5000,
     'sean': 2000,
     'z': 1000
}

  def func(name):  # nick/jason/tank/sean/z
      return salary_dict[name]  # 3000/100000/5000/2000/1000
 res = max(salary_dict, key=func)  # 默认key的首字母

 res = max(salary_dict, key=lambda name: salary_dict[name])  # 默认key的首字母
 print(res)
 # key=func默认做的事情
 # 1. 循环遍历salary_dict,会取到所有的key值
 # 2. 然后把所有的key值依次丢入func中,返回薪资
 # 3. 通过返回的薪资排序,得到最大值

 res = min(salary_dict, key=lambda name: salary_dict[name])
 print(res)

fileter 筛选

def function(item):  # 1/2/3/4
    if item < 5:
         return True
     else:
         return False

res = filter(function, [1, 2, 3, 4])
res = filter(lambda item: item > 2, [1, 2, 3, 4])
print(res)  # 迭代器
print(list(res))

 salary_dict = {
     'nick': 3000,
     'jason': 100000,
     'tank': 5000,
     'sean': 2000,
     'z': 1000
 }

 res = filter(lambda item: salary_dict[item] > 3000, salary_dict)
 print(list(res))

map 映射

 def function1(item):
     return item + 2

 res = map(function1, [1, 2, 3, ])
 print(res)
 print(list(res))

salary_dict = {
     'nick': 3000,
     'jason': 100000,
     'tank': 5000,
     'sean': 2000,
     'z': 1000
 }

res = map(lambda salary:salary_dict[salary] +500,salary_dict)
print(list(res))

内置函数

或许能用到的

byte()解码字符

char()/ord()

char()参考ASCII吗表将数字装成对应字符串;ord()佳能字符串转成对应数字

divmod()分栏,编程中的整除求余

print(divmod(10,3))  # (3,1)
#                 整数部   余数部

enumerate() 英语释义枚举,python中是带有索引的迭代

lt = ['a','b,'c']
for i in enumerate(lt)
    print(i)
# (0,'a')
# (1,'b')
# (2,'c')

eval() 评估,把字符串翻译成数据类型

lis = '[1,2,3]'
lis_eval = eval(lis)
print(lis_eval)
# [1,2,3]

hash()判断是否可哈希

不一定用的到的

  1. abs:绝对值
  2. all:可迭代对象内元素全为真,则返回真。
  3. any:可迭代对象中有一元素为真,则为真。
  4. bin/oct/hex:二进制、八进制、十六进制转换
  5. dir:列举出模块所有的功能。
  6. frozenset:不可变集合
  7. gloabals/locals:查看全局名字/查看当前位置名字
  8. pow:
  9. round:
  10. slice:
  11. sum:
  12. __import__:通过字符串导入模块

异常处理的部分用法

 异常处理: 报了错,进行处理
#
# print(1)
# num = input('请输入数字:')
#
# dic = {'a': 1}
#
# try:
#
#     print(dic['b'])  # KeyError
#     1 / int(num)  # 报错之后,不运行下面的代码
#
# except ZeroDivisionError:
#     print('傻逼,不能输入0')
# except KeyError:
#     print('傻逼,不知道什么错误')
#
# print(2)

# print(1)
# num = input('请输入数字:')
#
# dic = {'a': 1}
#
# try:
#
#     print(dic['b'])  # KeyError
#     1 / int(num)  # 报错之后,不运行下面的代码
#
# except Exception as e:  # 万能异常,只要有错误,就捕捉
#     print(e)  # 错误的描述信息
#     print('傻逼,不知道什么错误')
#
# print(2)

# # 异常捕捉只能捕捉逻辑错误
# fr = open('test.py')
# try:
#     # 文件中途报错
#     1 / 0
#     fr.close()
# except Exception as e:
#     print(e)
# finally:  # 无论你包不报错,都执行这一行
#     print('finally')

# assert 断言 + 条件--> 被历史淘汰了
#
# num = input('num:')
#
#
# assert 1==int(num)

# raise 主动抛错误

原文地址:https://www.cnblogs.com/lyyblog0715/p/11588561.html

时间: 2024-10-16 09:05:01

十四天:匿名函数的相关文章

python笔记十二(匿名函数)

一.匿名函数 有些情况下,我们需要把函数当做参数传入到另外的函数中,或者是把函数作为某个函数的返回值,此时我们就可以使用匿名函数. 匿名函数的标志是lambda. >>> f = lambda x:x*x >>> f <function <lambda> at 0x000002AB91CA7F28> >>> f(5) 25 >>> f = lambda a,b: a*a +b*b >>> f

(二十)python 3 匿名函数

匿名函数lambda Python使用lambda关键字创造匿名函数.所谓匿名,意即不再使用def语句这样标准的形式定义一个函数.这种语句的目的是由于性能的原因,在调用时绕过函数的栈分配.其语法是: lambda [arg1[, arg2, ... argN]]: expression 其中,参数是可选的,如果使用参数的话,参数通常也会在表达式之中出现. 无参数 # 使用def定义函数的方法 def true(): return True #等价的lambda表达式 >>> lambda

十四:生成器函数和迭代器函数

一:列表生成器:就是在列表内部使用一条语句来生成一个列表. example 1: 列表生成器示例 1 # 列表生成: 把可迭代对象中的每一个元素进行操作的结果放在列表中 2 3 s = [x * x for x in range(5)] 4 5 6 # 操作也可以是一个函数 7 8 def f(x): 9 return x * x 10 11 s = [f(x) for x in range(5)] 二:生成器函数:生成器函数与一般的函数有一个显著的不同,对于一般的函数,会把所有的结果一次性返回

linux平台学x86汇编(十四):函数的使用

[版权声明:尊重原创,转载请保留出处:blog.csdn.net/shallnet,文章仅供学习交流,请勿用于商业用途] 和高级语言一样,汇编语言在多个项目之间可能会编写相同的过程和处理,如果使用函数的话就可以不必每次需要时都重复编写实用程序代码,从而在需要它的时候调用它. 函数包含完成特定功能所需的代码,数据从主程序传递给函数,然后结果返回给主程序.调用函数时,程序执行路径被改变,切换到函数代码的第一条指令.处理器从这个位置开始执行指令,直到函数表明它可以把控制返回到主程序中的原始位置. 在汇

第十四章 并行函数程序

本章介绍 ■ 用不可变数据简化并行化(parallelization) ■ 处理任务并行库(Task Parallel library) ■ 用 LINQ 以声明方式表达并行度(parallelism) ■ 实现重载(overloaded)运算符 赞成函数式编程的论据,我们已经看到许多.原因之一就是,并行度现在变得越来越重要.写可以适应大量核心的代码,与使用典型的命令式方法相比较,以函数风格容易得多的. 来自函数世界的两个概念是本质,并行计算是声明性的编程风格,使用不可变的数据结构,这两者密切相

SQL Server进阶(十四)常用函数

FOR XML PATH 利用 T-sql 的从句 for xml path('') 实现多行合并到一行, 并带有分隔符 https://blog.csdn.net/rav009/article/details/50723307 SELECT ',' + au.UserCode FROM dbo.AcceptanceUser au FOR XML PATH ('') SELECT STUFF((SELECT ',' + au.UserCode FROM dbo.AcceptanceUser au

python第十四天(函数四)

原文地址:https://www.cnblogs.com/wangyanpan/p/10017709.html

python协程函数、递归、匿名函数与内置函数使用、模块与包

目录: 协程函数(yield生成器用法二) 面向过程编程 递归 匿名函数与内置函数的使用 模块 包 常用标准模块之re(正则表达式) 一.协程函数(yield生成器用法二) 1.生成器的语句形式 a.生成器相关python函数.装饰器.迭代器.生成器,我们是如何使用生成器的.一个生成器能暂停执行并返回一个中间的结果这就是 yield 语句的功能 : 返回一个中间值给调用者并暂停执行. 我们的调用方式为yeild 1的方式,此方式又称为生成器的语句形式. 而使用生成器的场景:使用生成器最好的场景就

Javascript的匿名函数

一.什么是匿名函数?在Javascript定义一个函数一般有如下三种方式:函数关键字(function)语句:function fnMethodName(x){alert(x);}函数字面量(Function Literals):var fnMethodName = function(x){alert(x);}Function()构造函数:var fnMethodName = new Function('x','alert(x);')上面三种方法定义了同一个方法函数fnMethodName,第1

JavaScript匿名函数的使用

JavaScript匿名函数的使用:  http://www.cnblogs.com/skykang/archive/2010/12/03/1895274.html 一.什么是匿名函数? 在Javascript定义一个函数一般有如下三种方式: 1. 函数关键字(function)语句:       function fnMethodName(x){alert(x);}    2. 函数字面量(Function Literals):       var fnMethodName = functio