美文网首页
python的内置函数2--2018-08-10

python的内置函数2--2018-08-10

作者: 有可能_666 | 来源:发表于2018-08-14 15:31 被阅读0次

    1.isinstance()函数
    描述:isinstance()函数判断一个对象是否是一个已知的类型,类似type()
    isinstance() 与type()区别:
    type()不会认为子类是一种父类类型,不考虑继承关系。
    isinstance()会认为子类是一种父类类型,考虑继承关系
    如果要判断两个类型是否相同推荐使用isinstance()
    语法:
    isinstance(object,classinfo)
    参数:

    • object -- 实例对象。
    • classinfo -- 可以是直接或间接类名、基本类型或者由它们组成的元组。
      返回值:
      如果对象的类型与参数二的类型(classinfo)相同则返回 True,否则返回 False。。
      实例:

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

    2.issubclass()函数
    描述:issubclass() 方法用于判断参数 class 是否是类型参数 classinfo 的子类。
    语法:
    issubclass(class, classinfo)
    参数:

    • class -- 类。
    • classinfo -- 类。
      返回值:
      如果 class 是 classinfo 的子类返回 True,否则返回 False。
      实例:

    class A:
        pass
    class B(A):
        pass
    
    print(issubclass(B,A))    # 返回 True
    

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

    4.map()函数
    描述:
    map() 会根据提供的函数对指定序列做映射。

    第一个参数 function 以参数序列中的每一个元素调用 function 函数,返回包含每次 function 函数返回值的新列表。
    语法:
    map(function, iterable, ...)
    参数:

    • function -- 函数,有两个参数
    • iterable -- 一个或多个序列

    返回值:

    • Python 2.x 返回列表。
    • Python 3.x 返回迭代器。

    实例:

    >>>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]
    

    5.property()函数
    描述:
    property()函数的作用在新式类中返回属性值
    语法:
    class property([fget[, fset[, fdel[, doc]]]])
    参数:
    fegt--获取属性值的函数
    fset--设置属性值的函数
    fdel--删除属性值的函数
    doc--属性描述信息

    返回值:
    返回新式类属性
    实例:http://www.runoob.com/python/python-func-property.html


    6.repr()函数
    描述:repr()函数将对象转化为供解释器读取的形式
    语法:
    repr(object)
    返回值:返回一个对象的string格式
    实例:


    >>>s = 'RUNOOB'
    >>> repr(s)
    "'RUNOOB'"
    >>> dict = {'runoob': 'runoob.com', 'google': 'google.com'};
    >>> repr(dict)
    "{'google': 'google.com', 'runoob': 'runoob.com'}"
    >>>
    

    7.reversed函数
    描述:
    reversed函数返回一个反转迭代器。
    语法
    reversed(seq)
    参数:
    seq -- 要转换的序列,可以是 tuple, string, list 或 range。
    返回值:
    返回一个反转的迭代器
    实例:


    # 字符串
    seqString = 'Runoob'
    print(list(reversed(seqString)))
    
    # 元组
    seqTuple = ('R', 'u', 'n', 'o', 'o', 'b')
    print(list(reversed(seqTuple)))
    
    # range
    seqRange = range(5, 9)
    print(list(reversed(seqRange)))
    
    # 列表
    seqList = [1, 2, 4, 3, 5]
    print(list(reversed(seqList)))
    
    
    
    ['b', 'o', 'o', 'n', 'u', 'R']
    ['b', 'o', 'o', 'n', 'u', 'R']
    [8, 7, 6, 5]
    [5, 3, 4, 2, 1]
    

    8.sorted()函数
    描述:
    sorted()函数对所有课迭代的对象进行排序操作
    sort与sorted区别:
    sort是应用在list上的方法,sorted可以对所有可迭代对象进行排序操作,list的sort方法返回的是对已经存在的列表进行操作,而内建函数sorted方法返回的是一个新的list,而不是在原来的基础上进行操作

    语法:sorted(iterable, key=None, reverse=False)

    参数说明:

    • iterable -- 可迭代对象。
    • key -- 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。
    • reverse -- 排序规则,reverse = True 降序 , reverse = False 升序(默认)。

    返回值 :返回重新排序的列表。
    实例:


    >>>sorted([5, 2, 3, 1, 4])
    [1, 2, 3, 4, 5]                      # 默认为升序
    你也可以使用 list 的 list.sort() 方法。这个方法会修改原始  的 list(返回值为None)。
    通常这个方法不如sorted()方便-如果你不需要原始的 list,list.sort()方法效率会稍微高一些。
    
    >>>a=[5,2,3,1,4]
    >>> a.sort()
    >>> a
    [1,2,3,4,5]
    另一个区别在于list.sort() 方法只为 list 定义。而 sorted() 函数可以接收任何的 iterable。
    
    >>>sorted({1: 'D', 2: 'B', 3: 'B', 4: 'E', 5: 'A'})
    [1, 2, 3, 4, 5]
    利用key进行倒序排序
    
    >>>example_list = [5, 0, 6, 1, 2, 7, 3, 4]
    >>> result_list = sorted(example_list, key=lambda x: x*-1)
    >>> print(result_list)
    [7, 6, 5, 4, 3, 2, 1, 0]
    >>>
    

    相关文章

      网友评论

          本文标题:python的内置函数2--2018-08-10

          本文链接:https://www.haomeiwen.com/subject/kqdkbftx.html