1、以下2个参数是什么意思:*args,**kwargs?我们为什么要使用它们?
答:*args表示任何多个无名参数,它是一个tuple;
**kwargs表示关键字参数,它是一个dict。
优势:传入参数个数可变。
参考资料:
http://www.cnblogs.com/fengmk2/archive/2008/04/21/1163766.html
https://blog.csdn.net/wem603947175/article/details/81199498
2、下面这些是什么意思:@classmethod,@staticmethod,@property
答:装饰器,使用对象是在类中定义的函数。
1)类方法@classmethod,只能访问类变量,不能访问实例变量,通过cls参数传递当前类对象,不需要实例化,直接【类名.方法名()】,可通过类对象和类对象实例访问。
2)静态方法@staticmethod,名义归类管,实际跟类没关系,跟类关联截断了,是类下单独的函数,可以不传递任何参数,不需要实例化,直接【类名.方法名(),可通过类对象和类对象实例访问
3)属性方法@property,将类方法变为属性,并赋值。
参考资料:
https://www.cnblogs.com/apollo1616/articles/9874055.html
https://www.cnblogs.com/chengzi521/p/9638059.html