Python常用内置函数介绍

Python提供了一个内联模块buildin。内联模块定义了一些开发中经常使用的函数,利用这些函数可以实现数据类型的转换、数据的计算、序列的处理等功能。下面将介绍内联模块中的常用函数。

Python内置函数的基本用法可以查看Python安装目录下的doc目录下的说明文档,本文仅介绍Python典型的内置函数使用方法。

reduce(function, iterable[, initializer]) 对序列的值进行累计计算

reduce()可以实现对序列进行连续处理的功能。reduce()的声明如下:

 reduce(function, sequence[, initial]) -> value

下面代码演示了reduce(连续处理的功能。

(1)实现对指定列表数字进行累加。

>>> reduce(lambda x, y: x+y, [1, 2, 3, 4, 5])
15

(2)指定initial值,再执行列表数字累加操作

>>> reduce(lambda x, y: x+y, [1, 2, 3, 4, 5], 15)
30

filter(function, iterable) 使用指定方法对序列过滤可迭代对象的元素

filter()可以对某个序列做过滤处理,判断自定义函数的参数返回的结果是否为真来过滤,并一次性返回处理结果。filter()的声明如下:

 filter(function or None, sequence) -> list, tuple, or string

下面这段代码演示了filter()过滤序列的功能,从给定的列表中过滤出大于0的数字。

>>> filter(lambda x:x>0,range(-9,10))
[1, 2, 3, 4, 5, 6, 7, 8, 9]

map(function, iterable, ...)  使用指定方法处理传入的每个可迭代对象的元素,生成新的可迭代对象

map()可以对多个序列的每个元素都执行相同的操作,并返回一个map对象。map()的声明如下所示:

map(function, sequence[, sequence, ...]) -> list

下面代码演示了map()函数处理的功能,

(1)函数只有1个参数,传入1个序列。求指定序列每个元素的平方

>>> map(lambda x:x*x,range(1,10))
[1, 4, 9, 16, 25, 36, 49, 64, 81]

说明:map()函数传入序列的个数需要与map中第1个参数的函数参数个数要一致。否则会报报错。如下

>>> map(lambda x:x*x,range(1,10),range(1,10))
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: <lambda>() takes exactly 1 argument (2 given)

(2)求2个序列元素的相加后的值。两个序列的元素个数一致。

>>> map(lambda x,y:x+y,range(1,10),range(11,20))
[12, 14, 16, 18, 20, 22, 24, 26, 28]

上述例子中传入map()函数的2个序列元素个数一致,每个序列中的元素一一对应进行计算。如果每个序列的长度不相同,则短的序列后会补充None,再进行计算。

enumerate(sequence, start=0) 根据可迭代对象创建枚举对象

enumerate()通常用于将一个可遍历的数据对象(如列表、元组或字符串),以列表形式返回,列表中的元素为索引和值组成的元组。

seasons = [‘Spring‘, ‘Summer‘, ‘Fall‘, ‘Winter‘]
for index,value in enumerate(seasons):
    print index,value

输出结果如下:

0 Spring
1 Summer
2 Fall
3 Winter

isinstance(object, classinfo) 判断对象是否是类或者类型元组中任意类元素的子类

>>> num = 2
>>> isinstance (num, int)
True
>>> isinstance (num,str)
False
>>> isinstance (num,(str,int,list))
True

raw_input([prompt])/input([prompt]) 获取控制台的输入

raw_input([prompt])/input([prompt]) 函数都可以用于获取控制台的输入 ,二者的使用区别如下:

(1)raw_input()将所有输入作为字符串看待,返回字符串类型。而input()在对待纯数字输入时具有自己的特性,它返回所输入的数字的类型(int, float)。

(2)二者均能接收字符串,但raw_input()直接读取控制台的输入(任何类型的输入它都可以接收)。而对于input(),它希望能够读取一个合法的 python 表达式,即你输入字符串的时候必须使用引号将它括起来,否则它会引发一个 SyntaxError 。

(1)同为输入数字,获取时类型不同

>>> num = raw_input(‘Please input a number:‘)
Please input a number:23
>>> type(num)
<type ‘str‘>
>>> print num
23
>>> num = input(‘Please input a number:‘)
Please input a number:23
>>> type(num)
<type ‘int‘>
>>> print num
23

(2)输入字符串,二者输入方式不同

>>> str = raw_input(‘Please input a string:‘)
Please input a string:hello
>>> print str
hello
>>> str = input(‘Please input a string:‘)
Please input a string:‘hello‘
>>> print str
hello

如果使用input()函数使用不带引号的方式输入,函数抛出NameError错误,如下

>>> str = input(‘Please input a string:‘)
Please input a string:hello
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "<string>", line 1, in <module>
NameError: name ‘hello‘ is not defined

sorted(iterable[, cmp[, key[, reverse]]]) 返回一个排序后的列表

sorted()函数用于排序指定序列。返回结果是1个新的序列,不会在原序列上进行操作。sorted()的声明如下:

sorted(iterable, cmp=None, key=None, reverse=False) --> new sorted list

参数说明:

iterable 可迭代对象。
cmp 比较函数,cmp()有两个参数,参数的值都是从可迭代对象中取出。
key 主要是用来进行比较的元素,只有一个参数,指定可迭代对象中的一个元素来进行排序。
reverse 排序规则,reverse = True 降序 , reverse = False 升序(默认)。

(1)对指定列表进行排序

>>> lst = [5,7,6,3,4,1,2]
>>> lst_sorted = sorted(lst)
>>> lst
[5, 7, 6, 3, 4, 1, 2]
>>> lst_sorted
[1, 2, 3, 4, 5, 6, 7]

(2)对指定序列进行排序,cmp参数的使用。

>>> lst = [(‘b‘,2),(‘a‘,1),(‘c‘,3),(‘d‘,4)]
>>> lst_sorted = sorted(lst, cmp=lambda x,y:cmp(x[1],y[1]))
>>> print lst_sorted
[(‘a‘, 1), (‘b‘, 2), (‘c‘, 3), (‘d‘, 4)]

(3)key参数的使用,

>>> lst_sorted = sorted(lst, key = lambda x:int(x.split(‘ ‘)[0].split(‘.‘)[3]))
>>> print lst_sorted
[‘192.168.0.1 Success‘, ‘192.168.0.2 Success‘, ‘192.168.0.10 Fail‘]

(4)reverse参数的使用。

>>> lst = [‘192.168.0.1 Success‘,‘192.168.0.10 Fail‘,‘192.168.0.2 Success‘]
>>> lst_sorted = sorted(lst, key = lambda x:int(x.split(‘ ‘)[0].split(‘.‘)[3]), reverse=True)
>>> print lst_sorted
[‘192.168.0.10 Fail‘, ‘192.168.0.2 Success‘, ‘192.168.0.1 Success‘]

原文地址:https://www.cnblogs.com/linyfeng/p/9147535.html

时间: 2024-12-19 16:38:24

Python常用内置函数介绍的相关文章

python常用内置函数学习(持续更新...)

python常用内置函数学习 一.python常用内置函数有哪些 dir() 二.每个内置函数的作用及具体使用 1.dir()不带参数时返回当前范围内(全局.局部)的变量.方法和定义的类型列表:   带参数A时返回参数的属性.方法的列表,如何该参数A对象有__dir__(),该方法被调用,如果不含有该方法,该方法不会报错,而是尽可能多的收集参数对象A的信息   实例: 不带参数,在分别在文件全局调用和在函数中局部调用dir()   带参数   原文地址:https://www.cnblogs.c

Python 常用内置函数

abs 取绝对值 print(abs(-1)) #结果1 all(...) all(iterable) -> bool Return True if bool(x) is True for all values x in the iterable. If the iterable is empty, return True. 如果iterable的所有元素不为0.''.False或者iterable为空,all(iterable)返回True,否则返回False:函数等价于: 1 def all

Python中常用内置函数介绍(filter,map,reduce,apply,zip)

Python是一门很简洁,很优雅的语言,其很多内置函数结合起来使用,可以使用很少的代码来实现很多复杂的功能,如果同样的功能要让C/C++/Java来实现的话,可能会头大,其实Python是将复杂的数据结构隐藏在内置函数中,只要写出自己的业务逻辑Python会自动得出你想要的结果.这方面的内置函数主要有,filter,map,reduce,apply,结合匿名函数,列表解析一起使用,功能更加强大.使用内置函数最显而易见的好处是: 1. 速度快,使用内置函数,比普通的PYTHON实现,速度要快一倍左

Python常用内置函数整理(lambda,reduce,zip,filter,map)

匿名函数lambda lambda argument1,argument2,...argumentN :expression using arguments 1.lambda是一个表达式,而不是一个语句. 因为这一点,lambda可以出现在python语法不允许def出现的地方---例如,在一个列表常量中或者函数调用的参数中. 2.lambda 的主体是一个单个的表达式,而不是一个代码块. lambda是一个为编写简单的函数设计的,而def用来处理更大的任务. 例如: lambda表示式写法:f

python常用内置函数总结

一.数学相关 1.绝对值:abs(-1)2.最大最小值:max([1,2,3]).min([1,2,3])3.序列长度:len('abc').len([1,2,3]).len((1,2,3))4.取模:divmod(5,2)5.乘方:pow(2,3)6.浮点数:round(1) 二.功能相关 1.函数是否可调用:callable(funcname),注意,funcname变量要定义过2.类型判断:isinstance(x,list/int)3.比较:cmp('hello','hello')4.快

Python常用内置函数

http://docs.python.org/3/library/functions.html#abs # 求任意个参数最小值 min() # 求任意个参数最大值 max() # 将整数转换为十六进制 hex() # 类型转换 int() float() bool() str() # 求绝对值 abs() len() type() isinstance(a,type) # 计算x的y次方 import math math.pow(x,y) # 开方 math.sqrt() 原文地址:https:

python常用内置函数1

1,abs 求绝对值 >>> abs( -1 ) 1 >>> abs( 1 ) 1 >>> 2,max, min求序列最大值与最小值 >>> l = [ 1, 10, -6, 2, 100 ] >>> max( l ) 100 >>> min( l ) -6 3,len求列表的长度 >>> s = 'ghostwu' >>> len( s ) 7 >>

python自定义函数、常用内置函数

1.python自定义函数 Python中用户自己编写的用于实现特定功能的函数代码块,就是自定义函数. 如: def是关键字,saa是自定义函数名,括号用于传参,可以不写参数,冒号后面是函数代码块,这里只写了一条print语句 注意:函数不调用不执行,只有调用函数才会执行 小练习1: 执行结果是: : 再来看一个小练2: 这是一个用来生成双色球的小程序,如蓝色球号码 01 红色球 22 12 23 14 05 26,蓝色球数字范围1-16,红色球数字范围1-33,最后一行调用produce()自

Python中内置函数的介绍

内置函数的功能介绍 常用内置函数如下: 1.abs() 绝对值 格式:abs(x) 例如:print(abs(-18)) >>> 18 返回值:number #该函数主要用于数值类的操作 2.all() 是否都为真 格式:all(iterable) 例如:print(all([1,2,3,])) >>> Ture 返回值:bool #该函数主要用于可迭代对象的操作,主要为列表.元祖.字典和集合.当这些类型的元素中有空字符串.空列表.空元祖.空字典.空集合时,则返回值为F