Python 中类方法、类实例方法、静态方法有何区别,Python 函数调用的时候参数的传递方式是值传递还是引用传递,*args,**kwargs

  • 类方法:是类对象的方法,在定义时需要在上方使用“@classmethod”进行装饰,形参为 cls,
    表示类对象,类对象和实例对象都可调用;
  • 类实例方法:是类实例化对象的方法,只有实例对象可以调用,形参为 self,指代对象本身;
  • 静态方法:是一个任意函数,在其上方使用“@staticmethod”进行装饰,可以用对象直接调用, 静态方法实际上跟该类没有太大关系。

Python 的参数传递有:位置参数、默认参数、可变参数、关键字参数。

函数的传值到底是值传递还是引用传递,要分情况:

不可变参数用值传递:

  • 像整数和字符串这样的不可变对象,是通过拷贝进行传递的,因为你无论如何都不可能在原处改变
    不可变对象
    可变参数是引用传递的:
  • 比如像列表,字典这样的对象是通过引用传递、和 C 语言里面的用指针传递数组很相似,可变对象
    能在函数内部改变。

对缺省参数的理解

缺省参数指在调用函数的时候没有传入参数的情况下,调用默认的参数,在调用函数的同时赋值时,
所传入的参数会替代默认参数。

  • *args 是不定长参数,他可以表示输入参数是不确定的,可以是任意多个。
  • **kwargs 是关键字参数,赋值的时候是以键 = 值的方式,参数是可以任意多对在定义函数的时候
    不确定会有多少参数会传入时,就可以使用两个参数。

猜你喜欢

转载自blog.csdn.net/weixin_43867210/article/details/86613277