• Python函数---王伟---2020-01-06


    Python函数

    匿名函数lambda
    #语法:(lambda 参数(形参) : 返回值)(实参)
    
    闭包
    #1.闭包:将函数作为返回值返回
    #2.通过闭包可以创建一些只有当前函数能访问的变量
    #3.可以将一些私有的数据藏到的闭包中
    
    迭代器
    #1.可迭代对象:含有__iter__()方法的对象,可迭代的对象:str,list,tuple,dict,set,文件对象
    
    #2.迭代器:含有__iter__()和__next__()方法
    a.对于可迭代对象,通过__iter__()方法或者iter()可以返回一个迭代器对象
    b.可以通过__next__()方法和next()获取迭代器下一个元素
    
    装饰器
    #装饰器:再不改变函数源码的前提下对函数功能进行拓展
    

    帮助函数

    dir
    dir([object])
    #1.如果没有实参,则返回当前本地作用域中的名称列表。如果有实参,它会尝试返回该对象的有效属性列表
    #2.dir()对不同的对象行为会不同
    如果对象是模块对象,则列表包含模块的属性名称
    如果对象是类型或类对象,则列表包含它们的属性名称,并且递归查找所有基类的属性
    否则,列表包含对象的属性名称,它的类属性名称,并且递归查找它的类的所有基类的属性
    
    help
    help([object])
    #1.启动内置的帮助系统
    #2.如果实参是一个字符串,则在模块、函数、类、方法、关键字或文档主题中搜索该字符串,并在控制台上打印帮助信息
    
    type
    class type(object)
    class type(name, bases, dict)
    #传入一个参数时,返回object的类型。 返回值是一个type对象,通常与object.__class__所返回的对象相同
    
    相关代码
    #1.匿名函数
    def sum(a,b):
        return a + b
    sum(10,20)
    #简写
    a = (lambda a,b : a + b)(10,20)
    print(a)
    
    #2.闭包
    def function():
        def sum(*args):
            result = 0
            for i in args:
                result += i
            return result
        return sum
    result = function()
    print(result(1,2))
    
    #3.迭代器
    list1=[1,2,3,4,5,6,7,8]
    print(dir(list1))
    
    
    list1=[1,2,3,4,5,6,7,8]
    list2=list1.__iter__()#迭代器
    print(list2.__next__())
    print(list2.__next__())
    print(dir(list2))
    
    #4.装饰器
    def sum(a,b):
        result = 0
    	result = a + b
        print(result)
    #a.现需增加提示之行开始,之行结束功能
    def new_func(old):
        def func_add(*args,**kwargs):
           
            print("函数开始执行....")
            old(*args,**kwargs)
            print("函数执行结束....")
        return func_add
    f = new_func(sum) 
    f(2,3) 
    
    @new_func 
    def fun():
        print("hello")
    fun()
    
    '''
    def new(old):
        def new_function(*args,**kwargs):
            print("=======")
            old(*args,**kwargs)
            print("-------")
        return new_function
    
    @new
    @new_func
    def func():
        print("python")
    func()
    '''
    
  • 相关阅读:
    设计模式之四(抽象工厂模式第二回合)
    C# try catch finally
    设计模式之三(工厂方法模式)
    C# XML与Json之间的相互转换
    Google免费的SVN服务器管理VS2010代码
    设计模式之四(抽象工厂模式第一回合)
    MVC项目开发中那些用到的知识点(Jquery ajax提交Json后台处理)
    设计模式之四(抽象工厂模式第三回合)
    设计模式之二(简单工厂模式)
    Jquery的$命名冲突
  • 原文地址:https://www.cnblogs.com/niaocaizhou/p/12155644.html
Copyright © 2020-2023  润新知