zoukankan      html  css  js  c++  java
  • python常用函数拾零

    Python常用内置函数总结:

    整理过程中参考了runoob网站中python内置函数的相关知识点,特此鸣谢!!

    原文地址:http://www.runoob.com/python/python-built-in-functions.html

    l all()函数

    判断迭代对象中是否有空或为0的对象,如果有则返回False

    all(['a', 'b', 'c', 'd'])  # 列表list,元素都不为空或0 True

    all([0, 12, 3])          # 列表list,存在一个为0的元素False

    all([])             # 空列表True

    >>> all(())             # 空元组True

    print (all([])) #结果是True

    print(all(()))#结果居然也是True

    l any()函数

    any也用来判断可迭代对象,所不同的是,当可迭代对象中都为0时结果才为False

    any(['a', 'b', '', 'd']) # 列表list,存在一个为空的元素 True

    any([0, '', False]) # 列表list,元素全为0,'',false

    any(('a', 'b', '', 'd')) # 元组tuple,存在一个为空的元素 True

    any((0, '', False)) # 元组tuple,元素全为0,'',false

    any([]) # 空列表 False

    any(()) # 空元组 False

    l bytearray()方法返回一个新字节数组。这个数组里的元素是可变的,并且每个元素的值范围: 0 <= x < 256

    ü 如果 source 为整数,则返回一个长度为 source 的初始化数组;

    ü 如果 source 为字符串,则按照指定的 encoding 将字符串转换为字节序列;

    ü 如果 source 为可迭代类型,则元素必须为[0 ,255] 中的整数

    ü 如果没有输入任何参数,默认就是初始化数组为0个元素。

    print()嵌套====>输出结果

    bytearray()====> bytearray(b'')

    bytearray([1,2,3]) ====>bytearray(b'x01x02x03')

    print(bytearray('花呀花呀开在那枝丫枝丫头','utf-8'))====>

    bytearray(b'xe8x8axb1xe5x91x80xe8x8axb1xe5x91x80xe5xbcx80xe5x9cxa8xe9x82xa3xe6x9ex9dxe4xb8xabxe6x9ex9dxe4xb8xabxe5xa4xb4')

    print(bytearray('xuxiaodong', 'utf-8'))==========>bytearray(b'chengjin')

    bytearray('xuxiaodong', 'utf-8')====> bytearray(b'chengjin')

    l callable()

    callable() 函数用于检查一个对象是否是可调用的。如果返回Trueobject仍然可能调用失败;但如果返回False,调用对象ojbect绝对不会成功。

    对于函数, 方法, lambda 函式, , 以及实现了 __call__ 方法的类实例, 它都返回 True

    调用函数==========>输出结果

    callable(0) ==========>False

    callable("xuxiaodong")==========> False

    def add(a, b): ... return a + b ... ==========>callable(add)==========>True

    l complex() 函数

    complex() 函数用于创建一个值为 real + imag * j 的复数或者转化一个字符串或数为复数。如果第一个参数为字符串,则不需要指定第二个参数

    real -- int, long, float或字符串;

    imag -- int, long, float

    调用函数==========>输出结果

    complex(1, 2)==========> (1 + 2j)

    complex(1) ==========># 数字 (1 + 0j)

    complex("1") ==========># 当做字符串处理 (1 + 0j)

    complex("1+2j") ==========>(1 + 2j)# 注意:这个地方在"+"号两边不能有空格,也就是不能写成"1 + 2j",应该是"1+2j",否则会报错

    l dir() 函数

    dir() 函数不带参数时,返回当前范围内的变量、方法和定义的类型列表;带参数时,返回参数的属性、方法列表。如果参数包含方法__dir__(),该方法将被调用。如果参数不包含__dir__(),该方法将最大限度地收集参数信息。

    dir() # 获得当前模块的属性列表 ['__builtins__', '__doc__', '__name__', '__package__', 'arr', 'myslice']

     >>> dir([ ]) # 查看列表的方法 ['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__delslice__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getslice__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__setslice__', '__sizeof__', '__str__', '__subclasshook__', 'append', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']

    l divmod()函数

    python divmod() 函数把除数和余数运算结果结合起来,返回一个包含商和余数的元组(a // b, a % b)

    python 2.3 版本之前不允许处理复数。

    参数说明:

    a: 数字

    b: 数字

    divmod(7, 2) ==========>(3, 1)

    divmod(8, 2) ==========>(4, 0)

    divmod(1+2j,1+0.5j)==========> ((1+0j), 1.5j)

    l enumerate() 函数

    enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中。Python 2.3. 以上版本可用,2.6 添加 start 参数。

    参数

    sequence -- 一个序列、迭代器或其他支持迭代对象。

    start -- 下标起始位置。

    返回值

    返回 enumerate(枚举) 对象。

    seasons = ['Spring', 'Summer', 'Fall', 'Winter']

    list(enumerate(seasons))==========>[(0, 'Spring'), (1, 'Summer'), (2, 'Fall'), (3, 'Winter')]

    用法

    seq = ['one', 'two', 'three']

    for i, element in enumerate(seq):

     ... print i, seq[i] ...

    结果:

    0 one

    1 two

    2 three

    l eval() 函数

    eval() 函数用来执行一个字符串表达式,并返回表达式的值。

    参数

    expression -- 表达式。

    globals -- 变量作用域,全局命名空间,如果被提供,则必须是一个字典对象。

    locals -- 变量作用域,局部命名空间,如果被提供,可以是任何映射对象。

    返回值

    返回表达式计算结果。

    用法

    x = 7  eval( '3 * x' ) ==========>21

    eval('pow(2,2)') ==========>4

    eval('2 + 2') ==========>4

    l file() 函数

    file() 函数用于创建一个 file 对象,它有一个别名叫 open(),更形象一些,它们是内置函数。参数是以字符串的形式传递的。

    更多文件操作可参考:Python 文件I/O

    参数

    name -- 文件名

    mode -- 打开模式

    buffering -- 0 表示不缓冲,如果为 1 表示进行行缓冲,大于 1 为缓冲区大小。

    返回值

    文件对象。

    f = file('test.txt')

    f.read()

    l filter() 函数

    filter() 函数用于过滤序列,过滤掉不符合条件的元素,返回由符合条件元素组成的新列表。

    该接收两个参数,第一个为函数,第二个为序列,序列的每个元素作为参数传递给函数进行判,然后返回 True False,最后将返回 True 的元素放到新列表中。

    语法

    以下是 filter() 方法的语法:

    filter(function, iterable)

    参数

    function -- 判断函数。

    iterable -- 可迭代对象。

    返回值

     

    返回列表。

    def is_odd(n):

    return n % 2 == 1

    newlist = filter(is_odd, [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]) print(newlist)

     

    l float() 函数

    float() 函数用于将整数和字符串转换成浮点数。

    参数

    x -- 整数或字符串

    返回值

    返回浮点数。

    float(1) ==========>1.0  

    float(112) ==========>112.0

    float(-123.6) -==========>123.6

    float('123') # 字符串 ==========>123.0

     

    frozenset()函数

    frozenset() 返回一个冻结的集合,冻结后集合不能再添加或删除任何元素。

    语法

    frozenset() 函数语法:

    class frozenset([iterable])

    参数

    iterable -- 可迭代的对象,比如列表、字典、元组等等。

    返回值

    返回新的 frozenset 对象,如果不提供任何参数,默认会生成空集合。。

    实例

    a = frozenset(range(10)) # 生成一个新的不可变集合

    a ==========>frozenset([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])

    b = frozenset('chengjin')

     b==========> frozenset(['b', 'r', 'u', 'o', 'n']) # 创建不可变集合

     

    l hash() 函数

    描述

    hash() 用于获取取一个对象(字符串或者数值等)的哈希值。

    语法

    hash 语法:

    hash(object)

    参数说明:

    object -- 对象;

    返回值

    返回对象的哈希值。

    实例

    以下实例展示了 hash 的使用方法:

    >>>hash('test') # 字符串 ==========>2314058222102390712

    >>> hash(1) # 数字 ==========>1

    >>> hash(str([1,2,3])) # 集合 ==========>1335416675971793195

    >>> hash(str(sorted({'1':1}))) # 字典 ==========>7666464346782421378

     

    l id()函数

    描述

    id() 函数用于获取对象的内存地址。

    语法

    id 语法:

    id([object])

    参数说明:

    object -- 对象。

    返回值

    返回对象的内存地址。

    实例

    以下实例展示了 id 的使用方法:

    >>>a = 'chengjin'

     id(a) ==========>4531887632

     b = 1

    id(b) ==========>140588731085608

     

    l isinstance() 函数

    描述

    isinstance() 函数来判断一个对象是否是一个已知的类型,类似 type()

    isinstance() type() 区别:

     

    type() 不会认为子类是一种父类类型,不考虑继承关系。

     

     

    isinstance() 会认为子类是一种父类类型,考虑继承关系。

     

    如果要判断两个类型是否相同推荐使用 isinstance()

    语法

    以下是 isinstance() 方法的语法:

    isinstance(object, classinfo)

    参数

    object -- 实例对象。

    classinfo -- 可以是直接或间接类名、基本类型或者有它们组成的元组。

    返回值

    如果对象的类型与参数二的类型(classinfo)相同则返回 True,否则返回 False。。

     

    实例

    以下展示了使用 isinstance 函数的实例:

    >>>a = 2

    >>> isinstance (a,int) ==========>True

    >>> isinstance (a,str)==========> False

    >>> isinstance (a,(str,int,list)) # 是元组中的一个返回 True ==========>True

    type() isinstance()区别:

    class A:

    pass

    class B(A):

     pass

    isinstance(A(), A) # returns True

    type(A()) == A # returns True

    isinstance(B(), A) # returns True

    type(B()) == A # returns False

     

    l iter() 函数

    描述

    iter() 函数用来生成迭代器。

    语法

    以下是 iter() 方法的语法:

    iter(object[, sentinel])

    参数

    object -- 支持迭代的集合对象。

    sentinel -- 如果传递了第二个参数,则参数 object 必须是一个可调用的对象(如,函数),此时,iter 创建了一个迭代器对象,每次调用这个迭代器对象的__next__()方法时,都会调用 object

    打开模式

    返回值

    迭代器对象。

    实例

    lst = [1, 2, 3]

    for i in iter(lst):

    ... print(i)

    结果:

    ... 1 2 3

     

    l reduce() 函数

    描述

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

    函数将一个数据集合(链表,元组等)中的所有数据进行下列操作:用传给reduce中的函数 function(有两个参数)先对集合中的第 12 个元素进行操作,得到的结果再与第三个数据用 function 函数运算,最后得到一个结果。

    语法

    reduce() 函数语法:

    reduce(function, iterable[, initializer])

    参数

    function -- 函数,有两个参数

    iterable -- 可迭代对象

    initializer -- 可选,初始参数

    返回值

    返回函数计算结果。

    实例

    以下实例展示了 reduce() 的使用方法:

    >>>def add(x, y) : # 两数相加

    ... return x + y ...

    >>> reduce(add, [1,2,3,4,5]) # 计算列表和:1+2+3+4+5 15

    >>> reduce(lambda x, y: x+y, [1,2,3,4,5]) # 使用 lambda 匿名函数 15

    l repr() 函数

    描述

    repr() 函数将对象转化为供解释器读取的形式。

    语法

    以下是 repr() 方法的语法:

    repr(object)

    参数

    object -- 对象。

    返回值

    返回一个对象的 string 格式。

     

    实例

    以下展示了使用 repr() 方法的实例:

    >>>s = 'chengjin'

    >>> repr(s) "'chengjin'"

    >>> dict = {'chengjin': 'chengjin.com', 'google': 'google.com'};

    >>> repr(dict) "{'google': 'google.com', 'chengjin': 'chengjin.com'}"

     

    l reverse() 函数

    描述

    reverse() 函数用于反向列表中元素。

    语法

    reverse()方法语法:

    list.reverse()

    参数

    NA

    返回值

    该方法没有返回值,但是会对列表的元素进行反向排序。

    实例

    以下实例展示了 reverse()函数的使用方法:

    #!/usr/bin/python

    aList = [123, 'xyz', 'zara', 'abc', 'xyz'];

    aList.reverse();

    print "List : ", aList;

    以上实例输出结果如下:

    List :  ['xyz', 'abc', 'zara', 'xyz', 123]

     

    l slice() 函数

    描述

    slice() 函数实现切片对象,主要用在切片操作函数里的参数传递。

    语法

    slice 语法:

    class slice(stop)class slice(start, stop[, step])

    参数说明:

    start -- 起始位置

    stop -- 结束位置

    step -- 间距

    返回值

    返回一个切片对象。

    实例

    以下实例展示了 slice 的使用方法:

    >>>myslice = slice(5) # 设置截取5个元素的切片

    >>> myslice

     slice(None, 5, None)

    >>> arr = range(10)

    >>> arr

    [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

    >>> arr[myslice] # 截取 5 个元素

    [0, 1, 2, 3, 4]

     

    sorted() 函数

     

    描述

    sorted() 函数对所有可迭代的对象进行排序操作。

    sort sorted 区别:

    sort 是应用在 list 上的方法,sorted 可以对所有可迭代的对象进行排序操作。

    list sort 方法返回的是对已经存在的列表进行操作,而内建函数 sorted 方法返回的是一个新的 list,而不是在原来的基础上进行的操作。

    语法

    sorted 语法:

    sorted(iterable[, cmp[, key[, reverse]]])

    参数说明:

    iterable -- 可迭代对象。

    cmp -- 比较的函数,这个具有两个参数,参数的值都是从可迭代对象中取出,此函数必须遵守的规则为,大于则返回1,小于则返回-1,等于则返回0

    key -- 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。

    reverse -- 排序规则,reverse = True 降序 , reverse = False 升序(默认)。

    返回值

    返回重新排序的列表。

    实例

    以下实例展示了 sorted 的使用方法:

    >>>a = [5,7,6,3,4,1,2] >>>

     b = sorted(a) # 保留原列表

    >>> a

    [5, 7, 6, 3, 4, 1, 2]

    >>> b

     [1, 2, 3, 4, 5, 6, 7]

    >>> L=[('b',2),('a',1),('c',3),('d',4)]

    >>> sorted(L, cmp=lambda x,y:cmp(x[1],y[1])) # 利用cmp函数

    [('a', 1), ('b', 2), ('c', 3), ('d', 4)]

    >>> sorted(L, key=lambda x:x[1]) # 利用key

    [('a', 1), ('b', 2), ('c', 3), ('d', 4)]

    >>> students = [('john', 'A', 15), ('jane', 'B', 12), ('dave', 'B', 10)]

    >>> sorted(students, key=lambda s: s[2]) # 按年龄排序

    [('dave', 'B', 10), ('jane', 'B', 12), ('john', 'A', 15)]

    >>> sorted(students, key=lambda s: s[2], reverse=True) # 按降序

     [('john', 'A', 15), ('jane', 'B', 12), ('dave', 'B', 10)]

    >>>

    l zip() 函数

    描述

    zip() 函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表。

    如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同,利用 * 号操作符,可以将元组解压为列表。

    语法

    zip 语法:

    zip([iterable, ...])

    参数说明:

    iterabl -- 一个或多个迭代器;

    返回值

    返回元组列表。

    实例

    以下实例展示了 zip 的使用方法:

    >>>a = [1,2,3]

    >>> b = [4,5,6]

    >>> c = [4,5,6,7,8]

    >>> zipped = zip(a,b) # 打包为元组的列表

    [(1, 4), (2, 5), (3, 6)]

    >>> zip(a,c) # 元素个数与最短的列表一致

     [(1, 4), (2, 5), (3, 6)]

     >>> zip(*zipped) # zip 相反,可理解为解压,

    返回二维矩阵式 [(1, 2, 3), (4, 5, 6)]

     

    l exec 内置语句

    描述

    exec 执行储存在字符串或文件中的Python语句,相比于 evalexec可以执行更复杂的 Python 代码。

    需要说明的是在 Python2 exec不是函数,而是一个内置语句(statement),但是Python 2中有一个 execfile() 函数。可以理解为 Python 3 exec 这个 statement execfile() 函数的功能够整合到一个新的 exec() 函数中去了。

    语法

    以下是 exec 的语法:

    exec obj

    参数

    obj -- 要执行的表达式。

    返回值

    exec 返回值永远为 None

     

    实例

    以下展示了使用 exec 的实例:

    实例 1

    >>>exec 'print "Hello World"'

     Hello World # 单行语句字符串

    >>> exec "print 'chengjin.com'"

     chengjin.com # 多行语句字符串

    >>> exec """for i in range(5):

     ... print "iter time: %d" % i

    ... """

    结果为:

     iter time: 0

    iter time: 1

    iter time: 2

    iter time: 3

    iter time: 4

    实例 2

    x = 10

    expr = """

    z = 30

    sum = x + y + z

    print(sum)

    """

     def func():

    y = 20

    exec(expr)

    exec(expr, {'x': 1, 'y': 2})

    exec(expr, {'x': 1, 'y': 2}, {'y': 3, 'z': 4})

     func()

    输出结果:

    60

    33

    34

     

     

  • 相关阅读:
    一本通 P1806 计算器
    英语单词
    Dubbo springboot注解
    java连接zookeeper集群
    zookeeper集群
    入住博客园!
    解决 windows MySQL安装过程中提示计算机丢失vcruntime140_1.dll
    django 订单并发修改库存乐观悲观锁
    毒鸡汤
    Java反射机制
  • 原文地址:https://www.cnblogs.com/saintdingspage/p/7823793.html
Copyright © 2011-2022 走看看