使用带有和不带参数的__init__方法

时间:2017-05-11 07:59:31

标签: python class object initialization

我是python中的新手,请原谅我,如果我的问题是基本问题或不清楚。

我在python中有一个类,每当我从这个类生成对象时,我想为我的对象设置一些属性。我知道,我必须为此目的使用__init__方法。

问题是我想拥有这种能力,我可以通过两种方式设置我的属性。对于我的一些对象,我想将一些值传递给__init__方法,并使用这些值设置属性。另外,对于某些对象,我想在__init__方法中为我的对象的属性设置一些默认值。

我的问题:如何使用__init__方法对某些对象使用传递的值来设置其属性,对于其他一些未传递的对象,使用默认值?

2 个答案:

答案 0 :(得分:1)

只需将您希望默认的参数等同于其默认值。

例如,__init__(a,b,c=0)会将0作为c的默认值,您可以通过在创建对象时传递另一个值来覆盖该值。

答案 1 :(得分:1)

def __init__(a,b,c='your default value')