python的内置函数

一.常用内置函数

  1. abs():
    取参数绝对值
  2. all(可迭代参数)
    判断迭代器内是否全部为真 返回True/False
  3. any(可迭代参数)
    判断迭代器内是否全部为假 返回True/False
  4. dir()
    不传参数时,返回当前范围内的变量,方法,和定义的类型列表, 带参数时,返回参数的属性,方法列表
  5. issubclass(classA, classB)
    如果classA是classB的子类,则返回True
  6. iter(), next()
    iter()方法可以将一个可迭代数据生成一个可迭代对象, next()方法可以取出可迭代对象内的数据,如果取完所有数据会报错StopIteration, 可以考虑使用try拦截
  7. id(对象)
    返回对象的内存地址
  8. exec(字符串对象)
    执行字符串中的python代码
  9. cabbable(对象)
    反应一个对象是否可以调用,函数和定义了__call__方法的类 返回True, 普通变量返回Flase
  10. frozenset(可迭代对象)
    返回一个不能再添加或删除任何元素
  11. vars(对象)
    返回对象的属性和属性值组成的字典,如果没有参数,就打印当前调用位置的属性和属性值的组成字典
  12. enumerate(可迭代参数)
    将可迭代参数 遍历,将元素和元素的下边列出, 一般再for循环中使用
  13. 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 相反,*zipped 可理解为解压,返回二维矩阵式
    [(1, 2, 3), (4, 5, 6)]

     

  14. hasattr(对象, 属性名)
    用于判断对象中是否包含这个数据,返回True/False

二.函数方法

  1. map(函数, 序列)
    以序列中的每一个元素调用函数, 返回结果
    >>>def square(x) :            # 计算平方数
    ...     return x ** 2
    ... 
    >>> map(square, [1,2,3,4,5])   # 计算列表各个元素的平方
    [1, 4, 9, 16, 25]
    >>> map(lambda x: x ** 2, [1, 2, 3, 4, 5])  # 使用 lambda 匿名函数
    [1, 4, 9, 16, 25]
     
    # 提供了两个列表,对相同位置的列表数据进行相加
    >>> map(lambda x, y: x + y, [1, 3, 5, 7, 9], [2, 4, 6, 8, 10])
    [3, 7, 11, 15, 19]

     

  2. filter(函数, 序列)
    函数参数用于过滤, 可迭代对象内不符合条件的元素, 最后将符合条件的元素组成一个新的迭代器对象, 可以使用list()进行转换

  3. 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

     

三.类方法

  1. @classmethod
    修饰符对应的函数不需要实例化,不需要self参数,但第一个参数需要表示自身类的cls参数,可以来调用类的属性,类的方法,实例化等等
    
    
    class A(object):
        bar = 1
        def func1(self):  
            print ('foo') 
        @classmethod
        def func2(cls):
            print ('func2')
            print (cls.bar)
            cls().func1()   # 调用 foo 方法
     
    A.func2()               # 不需要实例化

     

  2. @staticmethod
    该方法不强制要求传递参数,可以不需要将类实例化就可以调用该方法
     

    class C(object):
        @staticmethod
        def f():
            print('runoob');
     
    C.f();          # 静态方法无需实例化
    cobj = C()
    cobj.f()        # 也可以实例化后调用

     

  3. getattr(实例对象, “属性key”) / setattr(实例对象, “属性key”, “属性value”)

  4. super()
    调用父类的方法,py3 ->super().func()  py2->super(父类, self).func()

  5. delattr(类名, 属性名)
    用书删除类的属性

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值