1.函数
在python当中函数也是可以直接作为函数参数传给另外一个函数。在这种情况,函数也是作为一个变量,例如:
2. 作用域
python函数内部定义变量,我们称为局部变量,有人称为命名空间。
python作用域与javascript的作用域相似。函数内部定义的变量,函数外不能直接访问(全局作用域下);如果全局作用域下与函数作用域存在同名变量,函数会优先使用函数内部变量值;若函数内部不存在这个变量,则解释器会一层层往上访问直至全局作用域(如果不存在,则抛出错误)。
3.装饰器
装饰器到底是什么?为什么要使用装饰器?
装饰器顾名思义就是锦上添花,装饰,为原有事物添加更好的东西。如果我们在初期定义了一个函数;但是突然之间想要知道这个函数执行了多长时间;但是又不用修改原有函数,这个时候python装饰器派上用场。示例如下:
上面add=logtime(add())在python中提供了用@标识符来表示装饰器的语法糖,用@表示的语法其实和上面最后一句作用是一样的。示例代码如下:
在使用python装饰器时,装饰器函数返回一个函数runFun,此时add函数的name值已经不是add了,如果要改变成原来的相关变量,python中提供了functools.wrap()帮助我们完成。
python装饰器有针对函数的装饰器和对象的装饰器。
本文转载自互联网、仅供学习交流,内容版权归原作者所有,如涉作品、版权和其他问题请联系我们删除处理。
特别说明:本文旨在技术交流,请勿将涉及的技术用于非法用途,否则一切后果自负。如果您觉得我们侵犯了您的合法权益,请联系我们予以处理。
在python当中函数也是可以直接作为函数参数传给另外一个函数。在这种情况,函数也是作为一个变量,例如:
2. 作用域
python函数内部定义变量,我们称为局部变量,有人称为命名空间。
python作用域与javascript的作用域相似。函数内部定义的变量,函数外不能直接访问(全局作用域下);如果全局作用域下与函数作用域存在同名变量,函数会优先使用函数内部变量值;若函数内部不存在这个变量,则解释器会一层层往上访问直至全局作用域(如果不存在,则抛出错误)。
3.装饰器
装饰器到底是什么?为什么要使用装饰器?
装饰器顾名思义就是锦上添花,装饰,为原有事物添加更好的东西。如果我们在初期定义了一个函数;但是突然之间想要知道这个函数执行了多长时间;但是又不用修改原有函数,这个时候python装饰器派上用场。示例如下:
上面add=logtime(add())在python中提供了用@标识符来表示装饰器的语法糖,用@表示的语法其实和上面最后一句作用是一样的。示例代码如下:
在使用python装饰器时,装饰器函数返回一个函数runFun,此时add函数的name值已经不是add了,如果要改变成原来的相关变量,python中提供了functools.wrap()帮助我们完成。
python装饰器有针对函数的装饰器和对象的装饰器。
本文转载自互联网、仅供学习交流,内容版权归原作者所有,如涉作品、版权和其他问题请联系我们删除处理。
特别说明:本文旨在技术交流,请勿将涉及的技术用于非法用途,否则一切后果自负。如果您觉得我们侵犯了您的合法权益,请联系我们予以处理。