Python一种实现类似于重载的方法,*k是什么意思?

Python011

Python一种实现类似于重载的方法,*k是什么意思?,第1张

*k表示可变参数,通过可变参数实现类似于重载的方法

通常我们要定义一个函数的时候,必须要预先定义这个函数需要多少个参数(或者说可以接受多少个参数)。一般情况下这是没问题的,但是也有在定义函数的时候,不能知道参数个数的情况(想一想C语言里的printf函数),在Python里,带*的参数就是用来接受可变数量参数的。看一个例子

def funcD(a, b, *c):

print a

print b

print "length of c is: %d " % len(c)

print c

调用funcD(1, 2, 3, 4, 5, 6)结果是

1

2

length of c is: 4

(3, 4, 5, 6)

我们看到,前面两个参数被a、b接受了,剩下的4个参数,全部被c接受了,c在这里是一个tuple。我们在调用funcD的时候,至少要传递2个参数,2个以上的参数,都放到c里了,如果只有两个参数,那么c就是一个empty tuple。

在 Python 中创建一个类及其对象

在 Python 中创建一个空类

在 Python 中使用 Type 创建类

在 Python 中创建和调用类的方法

使用 __init__() 方法为数据属性赋值

在 Python 中更新对象属性

在 Python 中删除对象属性和对象

在 Python 中检查和比较对象的类型

在Python中将对象的所有属性复制到另一个对象

在 Python 中迭代对象属性

在 Python 中打印对象的所有属性

在python中在运行时创建类的数据属性

在函数中将对象的实例作为参数传递

在 Python 中创建和使用自定义 Self 参数

使用self参数来维护对象的状态

在 Python 中创建和使用静态类变量

在 Python 中的一个函数上使用多个装饰器

在 Python 中的方法中同时访问 cls 和 self

从装饰器访问实例方法的类

使用给定的装饰器获取 Python 类的所有方法

装饰一个 class

将类字段作为参数传递给类方法上的装饰器

在 Python 中创建多个传入参数列表的类变量

Python 中的 wraps 装饰器

使用可选参数构建装饰器

在 Python 中将参数传递给装饰器

@property 装饰器

类和函数的装饰器

Python 中带参数和返回值的装饰器

Python 使用参数 wraps 装饰器

Python 装饰器获取类名

简单装饰器示例

在 Python 中使用 print() 打印类的实例

在 Python 中的类中将装饰器定义为方法

获取在 Python 中修饰的给定类的所有方法

带参数和不带参数的 Python 装饰器

Python 中带有 self 参数的类方法装饰器

在 Python 中的另一个类中使用隐藏的装饰器

装饰器内部的 self 对象

在 Python 中将多个装饰器应用于单个函数

Python 装饰器获取类实例

__init__ 和 __call__ 有什么区别

在 Python 中使用 __new__ 和 __init__

Python 中的迭代重载方法

在 Python 中使用迭代器反转字符串

Python 中 __reversed__ 魔术方法

Python 中的 __getitem__ 和 __setitem__

在 Python 中使用 __getattr__ 和 __setattr__ 进行属性赋值

什么是 __del__ 方法以及如何调用它

创建类的私有成员

一个 Python 封装的例子

一个 Python 组合的例子

一个Python聚合的例子

Python 中的单级、多级和多级继承

在 Python 中获取一个类的父类

Python 中的多态性

访问 Child 类中的私有成员

Python 中的抽象类

创建一个抽象类来覆盖 Python 中的默认构造函数

使一个抽象类继承另一个抽象类

Python 中的 super 是做什么的

super() 如何在多重继承中与 __init__() 方法一起工作

将 super 与类方法一起使用

mro 是做什么的

Python 中的元类是什么

元类的具体案例

在 Python 中使用元类的单例类

@staticmethod 和 @classmethod 有什么区别

Python 中的装饰器是什么

制作函数装饰器链