返回顶部
首页 > 资讯 > 后端开发 > Python >python 几个重要函数
  • 475
分享到

python 几个重要函数

几个函数python 2023-01-31 05:01:54 475人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

一、匿名函数lambda 原型:lambda<参数>:函数体,隐函数,定义一些简单的操作, lambda argument1, argument2,...,argumentN: expression using argumen

一、匿名函数lambda

原型:lambda<参数>:函数体,隐函数,定义一些简单的操作,

lambda argument1, argument2,...,argumentN: expression using arguments

1、lambda是一个表达式,而不是一个语句。

因为这一点,lambda可以出现在python语法不允许def出现的地方---例如,在一个列表常量中或者函数调用的参数中,此外,作为一个表达式,lambda返回一个值(一个新函数),可以选择性地赋值给一个变量名。相反,def语句总是得在头部将一个新的函数赋值给一个变量名,而不是将这个函数作为结果返回。

2、lambda的主体是一个单个的表达式,而不是一个代码块。

lambda是一个为编写简单的函数设计的,而def用来处理更大的任务。

3、lambda表达式是起到一个函数速写的作用。允许在代码内嵌入一个函数的定义。

例1:定义一个lambda表达式,求三个数的和

# -*- coding: UTF-8 -*-
f = lambda x,y,z:x+y+z
print f(1,2,3)
print f(4,5,6)

6
15

例2:

>>> x=(lambda a="fee", b="fie", c ="foe": a+b+c)
>>> x("wee")
'weefiefoe'

例3:用lambda表达式求n的阶乘

# -*- coding: UTF-8 -*-
n = 5 
print reduce(lambda x,y:x*y,range(1,n+1))
120
例4:lambda表达式也可以用在def函数中

# -*- coding: UTF-8 -*-
def action(x):
      return lambda y:x+y
a = action(2)
print a(22)
24
这里定义了一个action函数,返回了一个lambda表达式。其中lambda表达式获取了到了上层def作用域的变量名x的值。

a是action函数的返回值,a(22),即是调用了action返回的lambda表达式。

这里也可以把def直接写成lambda形式。如下:

# -*- coding:UTF-8 -*-

b = lambda x:lambda y:x+y
a = b(3)
print a(2)
print (b(2))(2)
5
4
例5 :通常用lambda来编写跳转表,如下:

>>> L = [lambda x:x**2, lambda x:x**3, lambda x:x**4]
>>> for f in L:
        print(f(2))
4
8
16
>>> print(L[0](3))
9
二、Map函数

原型:map(function,sequence),作用是将一个列表映射到另一个列表
map(function,sequence,[sequence,...])->iterator

通过定义可以看到,这个函数的第一个参数是一个函数,剩下的参数是一个或多个序列,返回值是一个迭代器。
function可以理解为是一个一对一或多对一函数,map的作用是以参数序列中的每一个元素调用function函数,返回包含每次function函数返回值的迭代器。

返回可迭代对象,需要list调用来显示所有结果。

>>> list(map(lambda x:x+2,[1,2,3]))
[3,4,5]
>>> list(map(pow,[1,2,3],[2,3,4]))
[1,8,81]
注:pow()函数: 返回x的y次方的值。

>>> def add(x,y): return x+y
>>> map(add, range(8),range(8))
[0,2,4,6,8,10,12,14]
三、filter函数

filter函数会对指定序列执行过滤操作

filter函数的定义:

filter(functon or None, sequence) ->iterator

filter函数会对序列参数sequence中的每个元素调用function函数,最后返回的结果包含调用结果为True的元素。

返回课迭代对象,需要用list调用来显示所有结果。

>>> list(filter((lambda x: x>0), range(-5,5)))
[1,2,3,4]
>>> list(fliter(None,range(-5,5)))
[-5,-4,-3,-2,-1,1,2,3,4]
注:若function为None,则会返回包含非空元素的迭代器。

>>> def f(x): return x % 2 != 0 and x % 3 != 0
>>>  filter(f, range(2,25))
[5,7,11,13,17,19,23]
四、reduce函数

reduce函数,reduce函数会对参数序列中元素进行累积。

reduce函数的定义:

functools.reduce(function, iterable, [initializer])  #python3中reduce是在functools模块中

function参数是一个有两个参数的函数,reduce依次从iterable中取一个元素,和上一次调用function的结果做参数再次调用function。

第一次调用function时,如果提供initial参数,会以iterable中的第一个元素和initial作为参数调用function,否则会以iterable中的前两个元素做参数调用function。

等价于:

def reduce(function,iterable,initializer=None):
it = iter(iterable)
   if initializer is None:
        value = next(it)
   else:
        value = initializer
    for element in it:
        value = function(value,element)
return value

>>> import functools
>>> functools.reduce(lambda x,y:x+y,[1,2,3,4])
10
>>> functools.reduce(lambda x,y:x+y,[1,2,3,4],10)
20
>>> functools.reduce(lambda x,y,x*y,[1,2,3,4])
24

如果没有initial参数,这么算:(((1+2)+3)+4)

如果有initial参数,这么算:((((10 +1)+2)+3)+4)

注意:function函数不能为None,function必须是有2个参数的函数。


五、zip函数

其中sorted()和zip()返回一个序列(列表)对象,reversed()、enumerate()返回一个迭代器(类似序列)

定义:zip([seql,...])接受一系列可迭代对象作为参数,将对象中对应的元素打包成一个个tuple,然后返回由这些tuples组成的list。若传入参数的长度不相等,则返回list的长度和参数中长度最短的对象相同。

>>> list(zip([1,23,3],[213,45,2])) #两个列表长度一致
[(1,213),(23,45),(3,2)]
>>> list(zip([1,23,3],[213,45,2,34,54])) #两个列表长度不一致,以短的为准
[(1,213),(23,45),(3,2)]

zip一些应用:

>>> [[i for i in range(3*n+1,3*n+4)] for n in range(3)]

--结束END--

本文标题: python 几个重要函数

本文链接: https://lsjlt.com/news/188831.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • python 几个重要函数
    一、匿名函数lambda 原型:lambda<参数>:函数体,隐函数,定义一些简单的操作, lambda argument1, argument2,...,argumentN: expression using argumen...
    99+
    2023-01-31
    几个 函数 python
  • Python的三个重要函数详解
    目录一、遍历函数(map)二、筛选函数(filter)三、累计函数(reduce)总结一、遍历函数(map) map函数用于遍历序列,对序列中每个元素进行操作,最终获取新的序列。 l...
    99+
    2024-04-02
  • MySQL中几个重要的参数
    sync_binlog 参数含义:控制binlog刷盘的频率。 当值为 0 时,不强制刷盘,binlog依赖操作系统刷入磁盘。 当值为 1 时,确保binlog在一组事务提交前刷入磁盘。 ...
    99+
    2016-02-16
    MySQL中几个重要的参数 数据库入门 数据库基础教程 数据库 mysql
  • Python学习之str重要函数
    目录一、6个非常重要的str处理词二、重要的str处理 几乎所有的 数据类型里也都能用1、提取字符串中 特定位置的字符2、len 得到当前变量的字符串中有几个字符3、range 创建...
    99+
    2024-04-02
  • Python函数和Django IDE:你需要掌握的两个重要技能!
    Python是一种高级编程语言,被广泛应用于数据分析、人工智能、网络爬虫等各个领域。而Django是Python中最流行的Web框架之一,可以帮助开发人员快速地构建Web应用程序。Python函数和Django IDE是Python编程中...
    99+
    2023-10-13
    函数 django ide
  • python 几个常用的内置函数
    __init__(self [,args])构造函数是当实例对象创建完成后被调用的,然后设置对象属性的一些初始值简单的调用方法: obj = className(args)__init__是当实例对象创建完成后被调用的,然后设置对象属性的一...
    99+
    2023-01-31
    几个 函数 常用
  • Python中str重要函数怎么用
    这篇文章主要为大家展示了“Python中str重要函数怎么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Python中str重要函数怎么用”这篇文章吧。一、6个非常重要的str处理词join添...
    99+
    2023-06-25
  • Java几个重要的关键字详析
    目录1.extends2.implements3.final4.native5.static6.transient7.synchronized9.this10.super10.1.子...
    99+
    2024-04-02
  • 重要的Myisam Mysql系统至少需要几个库?
    对于比较重要的系统,自然是多多益善,但是总有个最小值咯。好比有人问oracle rac几个节点会比较好一样。[@more@]答案是3个:主库,读库,备库。因为Myisam锁的管理原理,导致查询会阻塞更新,m...
    99+
    2024-04-02
  • PostgreSQL统计信息的几个重要视图
    1、pg_stat_database yzs=# select *from pg_stat_database; -[ RECORD 1 ]--+--------------------------...
    99+
    2024-04-02
  • 数据库管理工具Navicat Premium教程:几个重要的
    Navicat Premium是一个可连接多种数据库的管理工具,它可以让你以单一程序同时连接到MySQL、Oracle及PostgreSQL数据库,让管理不同类型的数据库更加的方便。数据是许多大大小小的企业...
    99+
    2024-04-02
  • python函数重载
    python中是不支持函数重载的,但在python3中提供了这么一个装饰器functools.singledispatch,它叫做单分派泛函数,可以通过它来完成python中函数的重载,让同一个函数支持不同的函数类型,它提供的目的也正是为了...
    99+
    2023-01-31
    函数 python
  • 写好Python代码的几条重要技巧
    目录面向对象五个基本原则立竿见影的单一职责原则让代码稳定性飞升的开放封闭原则和依赖倒置原则挑肥拣瘦的接口隔离原则轻装上阵的合成复用原则常见的三种架构单体架构分布式架构微服务架构分布式和微服务并不是银弹画好图起一个好名...
    99+
    2022-06-02
    python 代码技巧 写好python技巧
  • 分享python中几个常用函数的正确用法
    这篇文章主要讲解了“分享python中几个常用函数的正确用法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“分享python中几个常用函数的正确用法”吧!1 lambda匿名函数,用法如下:#...
    99+
    2023-06-25
  • 新知识点:Python里面有几个有趣的函数
    导读今天主要是分享5个python内置的小函数,都是个人觉得强大而精致的几个函数。不是高深的知识,纯粹因为觉得好用而分享。众所周知,python功能强大、语法灵活,这些得益于其丰富而强大的库。除了众多第三方库和方法函数,python自带的很...
    99+
    2023-06-01
  • C#通过SQlite连接本地数据文件的几个重要步骤
    从SQLite官网下载所需要的安装包文件,安装之后在对应的bin文件夹下获取所需要的dll文件,主要包括system.data.sqlite.dll,以及sqlite.interop.dll;; 将此部分dll复制到生成解决方案文...
    99+
    2018-04-21
    C#通过SQlite连接本地数据文件的几个重要步骤
  • CPU使用率的几个重要指标含义列举
    通常所说的CPU使用率,就是除了空闲时间外的其他时间占总CPU时间的百分比,CPU使用率有很多重要指标,具体含义如下:user(通常缩写为us),代表用户态CPU时间。注意,它包括下面的nice时间,但包括了guest时间。nice(通常缩...
    99+
    2023-06-05
  • 10个必须要掌握的Python内置函数
    目录内置函数简介1.input2.enumerate()3.eval()4.format()5.map()6.print()7.range()8.reversed()9.sorted...
    99+
    2024-04-02
  • php怎么获取函数有几个参数
    本文操作环境:windows7系统、PHP7.1版、DELL G3电脑php怎么获取函数有几个参数?PHP实现动态获取函数参数的方法: func_num_args — 返回传入函数的参数总个数int func_num_args ( void...
    99+
    2017-11-03
    php
  • J2ME编程中的几个重要概念分别是什么
    J2ME编程中的几个重要概念分别是什么,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。我们都知道,Java ME 以往称作J2ME(Java Platform,Micro Edi...
    99+
    2023-06-17
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作