VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > Python基础教程 >
  • Python基础(十二)(3)

, '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'append', 'clear', 'copy', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']
  • type()

    • 函数定义:type(object_or_name, bases, dict)
    • 函数说明:查看对象的类型(其实type()既是函数,又是元类(创造类的类),可以通过type()创建一个类)
    print(type(list()))
    
    运行结果:
    <class 'list'>
    
  • zip()

    • 函数定义:zip(iter1 [,iter2 [...]])
    • 函数说明:拉链函数,返回一个迭代器,将所有可迭代对象的元素按照位置打包成元组,直到耗尽项数最少的可迭代对象
    lst1 = [1, 2, 3]
    lst2 = [1, 2, 3, 4, 5]
    print(zip(lst1, lst2))
    print(list(zip(lst1, lst2)))
    
    运行结果:
    <zip object at 0x00000204D6E621C8>
    [(1, 1), (2, 2), (3, 3)]
    
  • bool()

    • 函数定义:bool(x)
    • 函数说明:将传入的参数转换成布尔值,若不填入参数返回False
    print(bool())
    print(bool(123))
    
    运行结果:
    False
    True
    
  • (三)高阶函数(熟练)

    • 高阶函数全部需要结合规则函数,利用lambda匿名函数构造规则函数

    • filter() 筛选过滤
      map() 映射
      sorted() 排序
      max() 求最大值
      min() 求最小值
      reduce() 累计算
    1. filter()

      • 筛选过滤功能
      • 函数定义:filter(function or None, iterable)
      • 函数说明:返回一个迭代器,该迭代器返回满足规格函数的可迭代对象中的元素,若函数为None,返回可迭代对象中为True的元素
      # 规则函数为None,返回可迭代对象中True的元素
      print(list(filter(None, [0, 1, 2, 3])))
      
      运行结果:
      [1, 2, 3]
      
      # 返回满足规则函数可迭代对象中的元素
      print(list(filter(lambda x: x > 1, [0, 1, 2, 3])))
      
      运行结果:
      [2, 3]
      
    2. map()

      • 映射功能
      • 函数定义:map(func, *iterables)
      • 函数说明:创建一个迭代器,它使用可迭代对象中的每个元素当作参数执行规则函数,直到最短的可迭代对象耗尽为止
      print(list(map(lambda x: x ** 2, [1, 2, 3])))
      
      运行结果:
      [1, 4, 9]
      
    3. sorted()

      • 排序功能
      • 函数定义:sorted(*args, **kwargs)
      • 函数说明:返回一个列表,按照可迭代对象中的元素升序排列,还可以指定key=规则函数按照规则函数来排序,还可以指定reverse=True来降序排列
      • 与列表中list.sort()的区别:
        • list.sort()改变的是原有列表
        • sorted()建立的新列表
      lst = [4, 2, 3, 7, 1]
      print(sorted(lst))
      print(lst)  # 不改变原来列表
      
      运行结果:
      [1, 2, 3, 4, 7]
      [4, 2, 3, 7, 1]
      
      dic = {"k1": 3, "k2": 13, "k3": 1}
      print(sorted(dic, key=lambda x: dic[x], reverse=True))
      
      运行结果:
      ['k2', 'k1', 'k3']
      
    4. max()

      • 返回最大值

      • 函数定义:

        • max(iterable, *[, default=obj, key=func])
        • max(arg1, arg2, *args, *[, key=func])
      • 函数说明:

        • 使用单个可迭代对象,返回其中的最大值,可填入俩个关键字参数,当可迭代对象为空的时候返回default的值,可指定规则函数
        lst1 = [1, 2, 3, 4, 5, -6]
        lst2 = []
        print(max(lst1))
        print(max(lst1, key=abs))  # 制定规则参数,返回绝对值最大的元素
        print(max(lst2, default=1)) # 当lst2为空的时候返回1
        
        运行结果:
        5
        -6
        1
        
        • 使用两个或更多的参数,返回其中最大的参数
        a = 5
        b = 10
        print(max(a, b))
        
        运行结果:
        10
        
    5. min()

      • 返回最小值

      • 函数定义:

        • min(iterable, *[, default=obj, key=func])
        • min(arg1, arg2, *args, *[, key=func])
      • 函数说明:

        • 使用单个可迭代对象,返回其中的最小值,可填入俩个关键字参数,当可迭代对象为空的时候返回default的值,可指定规则函数
        lst1 = [1, -2, 3, -4, 5, -6]
        lst2 = []
        print(min(lst1))
        print(min(lst1, key=abs))
        print(min(lst2, default=1))
        
        运行结果:
        -6
        1
        1
        
        • 使用两个或更多的参数,返回其中最小的参数
        a = 5
        b = 10
        print(min(a, b))
        
        运行结果:
        5
        
    6. reduce()

      • 累计算
      • 函数定义:reduce(function, sequence, initial=None)
      • 函数说明:按照规则函数将序列从左到右累计算,若有initial参数则作为序列的第一项,并在序列为空时作为默认值
      from functools import reduce
      
      print(reduce(lambda x, y: x * y, [1, 2, 3, 4, 5]))
      print(reduce(lambda x, y: x * y, [1, 2, 3, 4, 5], 5))
      print(reduce(lambda x, y: x * y, [], 5))
      
      运行结果:
      120
      600
      5
      

    (四)面向对象函数

    • classmethod() delattr() getattr()
      hasattr() issubclass() isinstance()
      object() property() setattr()
      staticmethod() super()  
    • 后续补充...

    
    相关教程