python进阶——装饰器

本文主要介绍了Python编码规范,包括缩进、行长限制、导入模块的方式、空格使用等,并深入探讨了*与**的区别、赋值与引用、copy与deepcopy、迭代器与生成器的工作原理。特别强调了装饰器的使用,以及如何利用装饰器传参。通过实例展示了装饰器在处理验证码验证场景中的应用。
摘要由CSDN通过智能技术生成

一:python编码规范:
1、逢冒必缩:缩进4个空格或一个tab键
2、行长80:防止单行逻辑过于复杂
3、不使用from xxx import *
4、单行不要import 多个包,用不到的包不用import
5、空格使用:二元操作符前后各一个空格,冒号、逗号、分号后面都加一个空格
6、添加空行:函数间、函数内、文件结尾。
7、注释:
(1)忌逐行添加注释或者没有一个注释。
(2)行内注释
(3)块注释
(4)引入外来算法或者配置时需在注释中添加源链接,标明出处
8、命名:
(1)不用单字母的变量名
(2)包名、模块名、函数名、方法名全部使用小写,单词用下划线连接
(3)类名、异常名使用驼峰式命名
(4)全局变量劲量使用大写
二:
1、*与**的区别:*传递的是元组,**传递的是字典

def foo(*args, **kwargs):
pass

2、python的赋值与引用:== \ is
==:判断的是值,is:判断的是内存地址(对象的id)
3、copy与deepcopy的区别:copy:只拷贝表层元素,而deepcopy在内存中重新创建所有子元素
4、迭代器与生成器:
iter :是返回迭代器本身
next :是返回容器中的下一个值
generator:生成器是一种特殊的迭代器,不需要自定义__iter__与__next__
注:
(1)生成器函数(yield)
(2)迭代器与生成器的好处:节省内存,惰性求值
5、装饰器:

(最简装饰器)
def deco(func):
    def wrap(*args, **kwargs):
        return func(*args, **kwargs)
    return wrap

    
@deco
def foo(a, b):
    return a ** b

6、函数闭包:引用了自由变量的函数

def deco(func):
    def 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值