13.常用的函数

来源:互联网 发布:C# js escape 编辑:程序博客网 时间:2024/06/05 22:30
----------------常用内置函数----------------
(1)len(seq)
     返回序列的长度

(2)max(args)
     返回序列或者参数集合中的最大值
     注:参数全部为数字(或字符串、或元组、列表)
     
(3)min(args)
     返回序列或者参数集合中的最小值

(4)abs(number)
     返回数字的绝对值

(5)pow(a,b[,c])
     返回a的b次幂(所得结果对c取模)

(6)divmod(a,b)
      返回 a除以b 的整数部分和余数部分
      注:Python3.5版本不允许是复数。

(7)round(number[,ndigits])
     根据给定的精度对数字进行四舍五入,不设置精度时,取整数部分。

(8)float(object)
     将字符串和数字转换为浮点数

(9)int(object)
     将字符串和数字转换为整型
     注:Python3支持高精度运算,彻底废弃了 long + int 双整数实现的方法。

(10)str(object)
     将值转换为字符串

(11)cmp(x,y)
      比较两个对象x和y
      如果x < y ,返回负数;x == y, 返回0;x > y,返回正数。
      注:该函数只有在python2中可用,而且在python2所有版本中都可用。但是在python3中该函数已经被删减掉!

(12)callable(object)
      检查对象object是否可调用。
      如果存在这样的对象,返回True,但仍然可能调用失败;如果不存在这样的对象,则返回False。
      注:该函数在python2.x版本中都可用,但是在python3.0版本中被移除,而在python3.2以后版本中被重新添加。

(13)isinstance(obj, class_or_tuple)
      判断对象的类型

(14)type(object)
      查看对象类型

(15)range()
     创造range()对象用于迭代
     注:在Python3.0及其以上版本中range函数转换为xrange风格,不存在xrange函数。

(16)complex(real[,imag])
   创建一个值为real + imag * j的复数或者转化一个字符串或数为复数。
   注意:如果第一个参数为字符串,则不能设置第二个参数(即虚部)
   参数real: int, long, float或字符串;
   参数imag: int, long, float。

(17)list(seq)
      把序列转换为列表

(18)tuple(seq)
      把序列转换为元组

(19)hex(number)
      将一个整数转换为十六进制字符串

(20)oct(number)
     将一个整数转换为八进制字符串

(21)chr(n)
      当传入序号n时,返回n所代表的ASCII码的字符(0≤n<256)
   
(22)ord(c)
      返回字符的int值(ASCII码值)


----------------与类型相关的内置函数----------------
(1)字符串方法
   1.str.capitalize() -> str
     返回一个 首字母大写,其他字母均小写 的字符串

    例:
    >>> s = "hi"    >>> s.capitalize()    'Hi'

   2.str.split(sep=None, maxsplit=-1) -> list
     这是一个非常重要的字符串方法,用来将字符串分割成列表
     sep:分隔符,默认值为 None 。如果不提供任何分隔符,程序会把所有空格(制表、换行) 等作为分隔符。
     maxsplit:分隔次数,默认值为 -1 ,也就是在所有分隔符处均分隔。

    例:
    >>> s = "Good morning!"    >>> s.split()    ['Good', 'morning!']    >>> s2 = "163.45.87.00.1"    >>> s2.split(".")    ['163', '45', '87', '00', '1']    >>> s2.split(".",-1)    ['163', '45', '87', '00', '1']    >>> s2.split(".",0)    ['163.45.87.00.1']    >>> s2.split(".",1)    ['163', '45.87.00.1']

   3.str.replace(old, new[, count]) -> str
     返回字符串的所有匹配项均被替换之后得到的字符串
     old:替换掉的字符。
     new:替换字符。
     count:替换的数目,默认情况是所有匹配项均被替换。

    例:
    >>> s = "This is a test"    >>> s.replace("s","x",0)    'This is a test'    >>> s.replace("s","x",1)    'Thix is a test'


(2)序列处理函数
   1.len(seq)
     返回序列的长度

   2.max(seq) -> value
     返回序列中的最大值

   3.min(seq) -> value
     返回序列中的最小值

   4.filter(function or None, iterable) --> iterator
     首先,filter 的英文释义是“过滤器”的意思
     返回其函数为真的元素的迭代器,序列的每一个元素依次执行函数function,将执行结果为True的元素组成一个序列,作为迭代器返回。
     所以,filter实际起过滤的作用。
     注意:在Python3.0中,map、filter、reduce函数都被移至functools模块中。

    例4:
    >>> filter(lambda x:x % 10 == 0,range(1,101))    <filter object at 0x02B8AFB0>  #Python3.0之后返回的是iterator,一个对象。    >>> list(filter(lambda x:x % 10 == 0,range(1,101)))    [10, 20, 30, 40, 50, 60, 70, 80, 90, 100]

   5.zip(iter1 [,iter2 [...]]) --> zip object
     zip函数接受一系列可迭代对象作为参数,将对象中对应的元素打包成一个个tuple(元组),然后返回由这些tuples组成的一个支持遍历的对象,实现并行迭代。

     zip可以处理不等长的序列,当最短的序列“用完”的时后就会停止!

     注:Python2版本返回的是由这些tuples组成的一个列表
            Python3版本返回的是由这些tuples组成的一个对象

    例:
    >>> name = ["Bob","Gumby","Mery","Tom"]    >>> age = [19,23,21,20]    >>> zip(name,age)    [('Bob', 19), ('Gumby', 23), ('Mery', 21), ('Tom', 20)]    >>> tel = ["188","157","138"]    >>> zip(name,age,tel)    [('Bob', 19, '188'), ('Gumby', 23, '157'), ('Mery', 21, '138')]

   6.map(func, *iterables) --> map object
     map函数将一系列可迭代对象打包成一个对象之后,会将其中的元素全部传递给一个函数。
     因此,一系列可迭代对象(*iterables)的数目必须与函数的参数个数保持一致,实现并行迭代的效果。
     func:默认为None。

    例1:
    >>> def add100(x):    return x+100    >>> list1 = [100,8,52,96]    >>> map(add100,list1)    [200, 108, 152, 196]

    例2:
    >>> def add100(x,y,z):    return x+y+z     >>> list2 = [51,48,52,2]    >>> list3 = [47,5,20,23]    >>> list1    [100, 8, 52, 96]    >>> map(add100,list1,list2,list3)    [198, 61, 124, 121]

   7.reduce(func,seq[,initial])
     reduce函数可以将序列的前两个元素与给定的函数联合使用,并且将他们的返回值和第3个元素继续联合使用,直到整个序列都处理完毕,并且得到一个最终结果!
     
     注:在Python 3里,reduce()函数已经从全局名字空间内移除了,被放置在functools模块中。

     例:
     >>> from functools import reduce
     >>> def add(x,y):
    return x+y

     >>> reduce(add,range(1,101))
     5050


原创粉丝点击