码迷,mamicode.com
首页 > 编程语言 > 详细

Python特殊函数

时间:2018-11-21 15:46:30      阅读:197      评论:0      收藏:0      [点我收藏+]

标签:for   pre   expand   ext   one   false   exp   getattr   ati   

  • exec():执行动态的字符串代码,和eval类似,不过eval接受表达式。

    • 它可接受:1.代码字符串 2.文件对象 3.代码对象 4.tuple

      >>> exec(a=2)
      >>> a
      2
      >>> exec(print(\‘5\‘))
      5
  • eval():接受一个字符串对象,把字符串变成一个合法的表达式

    >>> eval(1+1)
    2
  • repr():接受一个表达式,把表达式变成字符串

    >>> repr(1+2)
    3
  • range():范围函数

  • zip():返回一个迭代器,将对应的序列对应索引位置拼接成一个二元组,若序列不同,以短的为主。

    >>> a = [1,2,3]
    >>> b = (a,b,c)
    >>> zip(a,b)
    <zip object at 0x0000024DD98036C8>
    >>> list(zip(a,b))
    [(1, a), (2, b), (3, c)]
  • map(func, *iterables):返回一个迭代器

    >>> map(lambda x: x+x,[1,2,3])
    <map object at 0x00000197731BDB70>
    >>> a = map(lambda x: x+x,[1,2,3])
    >>> next(a)
    2
    >>> next(a)
    4
    >>> next(a)
    6
    >>> next(a)
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    StopIteration
  • filter(function or None, iterable):过滤作用,返回一个迭代器,和列表推导式作用相同

    >>> numbers = range(-5,5)
    >>> numbers
    [-5, -4, -3, -2, -1, 0, 1, 2, 3, 4] 
    >>> filter(lambda x: x>0, numbers) 
    [1, 2, 3, 4]
    >>> [x for x in numbers if x>0]   #与上面那句等效
    [1, 2, 3, 4]
  • isinstance(obj, class_or_tuple, /):除了可以判断对象的类型,还可以判断该对象是否是该类的子类,返回值为bool值。

    >>> isinstance(1,str)
    False
    >>> isinstance(1,int)
    True
    class Person():
        def __init__(self):
            pass
    ?
    p = Person()
    print(isinstance(p,Person))
    True
  • enumerate(iterable[, start]):把可迭代对象的索引和值包装成一个元组返回。

    >>> b = list(enumerate(sedf))
    >>> b
    [(0, s), (1, e), (2, d), (3, f)]
  • divmod():地板除取余函数 //

    >>> divmod(9,4)
    (2, 1)
  • pow():幂值函数

  • getattr(object,name,default) :

    • object--对象

      name--字符串,对象属性

      default--默认返回值,如果不提供该参数,在没有对于属性时,将触发AttributeError。

    class Person():
        age = 20
        def __init__(self):
            self.name = 3
    p = Person()
    print(isinstance(p,Person))
    print(getattr(p,name))、
    ?
    3

 持续更...

Python特殊函数

标签:for   pre   expand   ext   one   false   exp   getattr   ati   

原文地址:https://www.cnblogs.com/kmnskd/p/9994148.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!