搜索
您的当前位置:首页正文

python对象初始化

来源:二三娱乐
python对象初始化

以后,需要将对象进⾏初始化。Python有⼀个构造函数和⼀个初始化函数:

1、构造函数__new__,只接受⼀个参数,即类本⾝(它会在对象被构造之前调⽤,所以这⾥也就没有self参数),所以它返回刚被创建的对象。在⽇常编程中,很少被⽤到。

2、初始化函数__init__,常被⽤到。例如我们在Point类⾥添加⼀个初始化函数,要求⽤户在实例化Point对象的时候提供x和y参数。

class Point:

def __init__(self, x, y): self.move(x, y) def move(self,x, y): self.x = x self.y = y def reset(self): self.move(0, 0)

#构造⼀个Pointpoint = Point(3, 5)print(point.x, point.y)# 3 5

如果调⽤Point对象没有含有合适的初始化参数时,会提⽰“没有⾜够的参数”等错误。如调⽤上述的Point类,运⾏如下

>>> a = Point(3)

Traceback (most recent call last): File \"\", line 1, in

TypeError: __init__() missing 1 required positional argument: 'y'>>> a = Point(3, 4, 5)

Traceback (most recent call last): File \"\", line 1, in

TypeError: __init__() takes 3 positional arguments but 4 were given

如果不想让两个参数是必须的,通过将初始化函数设置为默认值来实现。如将上处的__init__的代码修改如下:

class Point:

def __init__(self, x = 0, y = 0): self.move(x, y)

因篇幅问题不能全部显示,请点此查看更多更全内容

Top