Python_面试宝典_高级
python中的类方法、类实例方法、静态方法有什么区别? 类方法:是类对象的方法,在定义时需要在上方使用“@classmethod”进行装饰,形参为 cls 表示类对象,类对象和实例对象都可调用。 类实例方法:是类实例化对象的方法,只有实例对象可以调用,形参为 self ,指代对象本身 静态方法:是一个任意函数,在其上方使用“@staticmethod”进行装饰,可以用对象直接调用,静态方法实际上跟该类没有太大关系。 python函数调用的时候参数的传递方式是值传递还是引用传递? python的参数传递有:位置参数、默认参数、可变参数、关键字参数 函数的传值到底是值传递还是引用传递,要分情况: 不可变参数值传递:像整数和字符串这样的不可变对象,是通过拷贝进行传递的,因为你无论如何都不可能在原处改变不可变对象。 可变参数是引用传递的: 比如像列表,字典这样的对象是通过引用传递的、和c语言里面的指针传递数组很类似,可变对象能在函数内部改变。 对缺省参数的理解? 缺省参数指在调用函数的时候没有传入参数的情况下,调用默认的参数,在调用函数的同时赋值时,所传入的参数会代替默认参数。 *args 是不定长参数,它可以表述输入参数的不确定的,可以是任意多个 **kwargs 是关键字参数,赋值的时候是以 = 值的方式,参数是可以任意多对在定义函数的时候不确定会有多少参数会传入,就可以使用两个参数