热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Python中内建函数的简单用法说明

这篇文章主要介绍了Python中内建函数的简单用法说明,包括apply()、filter()、reduce()、map()四个函数的用法讲解,需要的朋友可以参考下
Python提供了一个内联模块buildin,该模块定义了一些软件开发中经常用到的函数,利用这些函数可以实现数据类型的转换、数据的计算、序列的处理等。

buildin模块的内置函数:
1、apply():可以调用可变参数列表的函数,把参数存在一个元组或者序列中,apply元组参数必须和sum()的参数一致

#!/usr/bin/python
# -*- coding:utf8 -*-
def sum(x=1,y=2):
  return x+y
print apply(sum,(1,3))

2、filter():可以对某个序列进行过滤,其中过滤的func()参数不能为空.
filter(func or None,sequence) –>list,tuple,or string

#!/usr/bin/python
# -*- coding:utf8 -*-
def func(x):
  if x>0:
    return x
print filter(func,range(-9,10))

3、reduce() :对序列中的元素连续操作可以通过循环来处理,具有连续处理的功能。

reduce(func,sequence[,initial]) –> value

func是自定义函数,func()中实现对参数sequence的连续操作,sequence为待处理序列,如果参数
initial的值不为空,将首先传入函数func()进行计算,如果为空,则对initial的值进行处理

#!/usr/bin/python
# -*- coding:utf8 -*-
def sum(x,y):
    return x + y
print reduce(sum,range(0,10))
print range(0,10)
print reduce(sum,range(0,10),10)
print reduce(sum,range(0,2),10)

4、map():可以对多个序列的每个元素都执行相同的操作,并组成列表返回。
如果提供多个序列,则每个序列中的元素一一对应进行计算;如果每个序列的长度不相同,
则短的序列后补充“None”,再进行计算

map(func,sequence[,sequence,…]) –> list

#!/usr/bin/python
# -*- coding:utf8 -*-
def power(x):
  return x**x
print map(power,range(1,5))

def power2(x,y):
  return x**y
print map(power2,range(1,5),range(5,1,-1))
print range(1,5)
print range(5,1,-1)

PS:常用内置模块函数:
abs(x) 返回x的绝对值
apply(func[,args[,kwargs]]) 把函数的参数放置在序列中传入函数
bool([x]) 把每一个值或者表达式转换为bool类型,如果表达式x为值,则返回True,否则返回False
cmp(x,y) 比较x,y的大小
delattr(obj,name) 等价于del obj.name
eval(s[,globals[,locals]]) 计算表达式的值
float(x) 把数字或者字符串转换成float类型数据
hash(object) 返回一个对象的hash值
help([object]) 返回内联函数的帮助说明
id(x) 返回一个对象的标示
input([prompt]) 接受控制台的输入,并把输入的值转换成数字
int(x) 把数字或字符串转换为整型
len(obj) 对象包含的元素的个数
range([start,]end[,step]) 生产一个列表并返回
raw_input([prompt]) 接受控制台的输入,返回字符串类型
reduce(func,sequence[,initial]) 对序列的值进行累加计算
round(x,n=0) 四舍五入的函数
set([interable]) 返回一个set集合
sorted(iterable[,cmp[,key[,reverse]]]) 返回一个排序后的列表
sum(iterable[,start=0]) 返回一个序列的和
type(obj) 返回一个对象的类型
xrange(start[,end[,step]]) 功能和range()类似,但是一次返回一个值
zip(seq1[,seq2,…]) 把n个序列作为列表的元素返回

推荐阅读
  • 安装mysqlclient失败解决办法
    本文介绍了在MAC系统中,使用django使用mysql数据库报错的解决办法。通过源码安装mysqlclient或将mysql_config添加到系统环境变量中,可以解决安装mysqlclient失败的问题。同时,还介绍了查看mysql安装路径和使配置文件生效的方法。 ... [详细]
  • 本文介绍了lua语言中闭包的特性及其在模式匹配、日期处理、编译和模块化等方面的应用。lua中的闭包是严格遵循词法定界的第一类值,函数可以作为变量自由传递,也可以作为参数传递给其他函数。这些特性使得lua语言具有极大的灵活性,为程序开发带来了便利。 ... [详细]
  • 本文介绍了Python异常的捕获、传递与抛出操作,并提供了相关的操作示例。通过异常的捕获和传递,可以有效处理程序中的错误情况。同时,还介绍了如何主动抛出异常。通过本文的学习,读者可以掌握Python中异常处理的基本方法和技巧。 ... [详细]
  • Java实战之电影在线观看系统的实现
    本文介绍了Java实战之电影在线观看系统的实现过程。首先对项目进行了简述,然后展示了系统的效果图。接着介绍了系统的核心代码,包括后台用户管理控制器、电影管理控制器和前台电影控制器。最后对项目的环境配置和使用的技术进行了说明,包括JSP、Spring、SpringMVC、MyBatis、html、css、JavaScript、JQuery、Ajax、layui和maven等。 ... [详细]
  • 本文是一位90后程序员分享的职业发展经验,从年薪3w到30w的薪资增长过程。文章回顾了自己的青春时光,包括与朋友一起玩DOTA的回忆,并附上了一段纪念DOTA青春的视频链接。作者还提到了一些与程序员相关的名词和团队,如Pis、蛛丝马迹、B神、LGD、EHOME等。通过分享自己的经验,作者希望能够给其他程序员提供一些职业发展的思路和启示。 ... [详细]
  • 开发笔记:加密&json&StringIO模块&BytesIO模块
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了加密&json&StringIO模块&BytesIO模块相关的知识,希望对你有一定的参考价值。一、加密加密 ... [详细]
  • Python字典推导式及循环列表生成字典方法
    本文介绍了Python中使用字典推导式和循环列表生成字典的方法,包括通过循环列表生成相应的字典,并给出了执行结果。详细讲解了代码实现过程。 ... [详细]
  • 本文讨论了Alink回归预测的不完善问题,指出目前主要针对Python做案例,对其他语言支持不足。同时介绍了pom.xml文件的基本结构和使用方法,以及Maven的相关知识。最后,对Alink回归预测的未来发展提出了期待。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 本文介绍了使用Python根据字典中的值进行排序的方法,并给出了实验结果。通过将字典转化为记录项,可以按照字典中的值进行排序操作。实验结果显示,按照值进行排序后的记录项为[('b', 2), ('a', 3)]。 ... [详细]
  • Python如何调用类里面的方法
    本文介绍了在Python中调用同一个类中的方法需要加上self参数,并且规范写法要求每个函数的第一个参数都为self。同时还介绍了如何调用另一个类中的方法。详细内容请阅读剩余部分。 ... [详细]
  • Python语法上的区别及注意事项
    本文介绍了Python2x和Python3x在语法上的区别,包括print语句的变化、除法运算结果的不同、raw_input函数的替代、class写法的变化等。同时还介绍了Python脚本的解释程序的指定方法,以及在不同版本的Python中如何执行脚本。对于想要学习Python的人来说,本文提供了一些注意事项和技巧。 ... [详细]
  • 本文介绍了在Win10上安装WinPythonHadoop的详细步骤,包括安装Python环境、安装JDK8、安装pyspark、安装Hadoop和Spark、设置环境变量、下载winutils.exe等。同时提醒注意Hadoop版本与pyspark版本的一致性,并建议重启电脑以确保安装成功。 ... [详细]
  • 本文介绍了如何使用Python正则表达式匹配MATLAB的函数语法,包括多行匹配和跨行签名的处理方法。同时,作者还分享了自己遇到的问题和解决方案。 ... [详细]
  • 本文介绍了Python版Protobuf的安装和使用方法,包括版本选择、编译配置、示例代码等内容。通过学习本教程,您将了解如何在Python中使用Protobuf进行数据序列化和反序列化操作,以及相关的注意事项和技巧。 ... [详细]
author-avatar
手机用户2502885711
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有