Python特殊函数

  • 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

持续更...

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

时间: 2024-10-04 21:41:25

Python特殊函数的相关文章

python特殊函数 __call__()

__call__ 在Python中,函数其实是一个对象: >>> f = abs >>> f.__name__ 'abs' >>> f(-123) 123 由于 f 可以被调用,所以,f 被称为可调用对象. 所有的函数都是可调用对象. 一个类实例也可以变成一个可调用对象,只需要实现一个特殊方法__call__(). 我们把 Person 类变成一个可调用对象: class Person(object): def __init__(self, name,

python特殊函数 __cmp__

__cmp__ 对 int.str 等内置数据类型排序时,Python的 sorted() 按照默认的比较函数 cmp 排序,但是,如果对一组 Student 类的实例排序时,就必须提供我们自己的特殊方法 __cmp__(): class Student(object): def __init__(self, name, score): self.name = name self.score = score def __str__(self): return '(%s: %s)' % (self

python特殊函数 __len__(self):

__len__ 如果一个类表现得像一个list,要获取有多少个元素,就得用 len() 函数. 要让 len() 函数工作正常,类必须提供一个特殊方法__len__(),它返回元素的个数. 例如,我们写一个 Students 类,把名字传进去: class Students(object): def __init__(self, *args): self.names = args def __len__(self): return len(self.names) 只要正确实现了__len__()

python特殊函数之lambda和map

lambda表达式返回一个函数对象 map(function,sequence),把sequence中的值逐个传给function,返回一个包含函数执行结果的list 例子: squares = list(map(lambda x: x**2, range(10))) squares值是 [0, 1, 4, 9, 16, 25, 36, 49, 64, 81] 相当于: squares = [x**2 for x in range(10)] 也相当于: >>> squares = []&

[Python] Python中的一些特殊函数

1. 过滤函数filter 定义:filter 函数的功能相当于过滤器.调用一个布尔函数bool_func来迭代遍历每个列表中的元素:返回一个使bool_func返回值为true的元素的序列. a=[0,1,2,3,4,5,6,7] b=filter(None, a) print b 输出结果:[1, 2, 3, 4, 5, 6, 7] 2. 映射和归并函数map/reduce 这里说的map和reduce是Python的内置函数,不是Goggle的MapReduce架构. 2.1 map函数

Python中特殊函数和表达式 filter,map,reduce,lambda

1. filter 官方解释:filter(function or None, sequence) -> list, tuple, or string Return those items of sequence for which function(item) is true. If function is None, return the items that are true. If sequence is a tuple or string, return the same type,

Python基础教程(第九章 魔法方法、属性和迭代器)

本文内容全部出自<Python基础教程>第二版,在此分享自己的学习之路. ______欢迎转载:http://www.cnblogs.com/Marlowes/p/5437223.html______ Created on Marlowes 在Python中,有的名称会在前面和后面都加上两个下划线,这种写法很特别.前面几章中已经出现过一些这样的名称(如__future__),这种拼写表示名字有特殊含义,所以绝不要在自己的程序中使用这样的名字.在Python中,由这些名字组成的集合所包含的方法称

Python 代码性能优化技巧

10 个 Python IDE 和代码编辑器 1. Vim 2. Eclipse with PyDev 3. Sublime Text 4. Emacs 5. Komodo Edit 6. PyCharm 7. Wing 8. PyScripter 9. The Eric Python IDE 10. Interactive Editor for Python 获取帮助 你可以很容易的通过Python解释器获取帮助.如果你想知道一个对象(object)是如何工作的,那么你所需要做的就是调用hel

python库使用整理

1. 环境搭建 l  Python安装包:www.python.org l  Microsoft Visual C++ Compiler for Python l  pip(get-pip.py):pip.pypa.io/en/latest/installing.html n  pip install + 安装包          --安装包(.whl,.tar.gz,.zip) n  pip uninstall + 安装包        --卸载包 n  pip show --files +