python魔法方法:__init__( )方法,被称为构造方法。__init__()方法的魔力体现在只要实例化一个对象,这个方法就会在对象被创建时自动调用。实例化对象时是可以传入参数的,这些参数会自动传入__init__()方法中,可以通过重写这个方法来自定义对象的初始化操作。
总结:__init__()方法是一个特殊的方法,在对象实例化时会被调用,__init__()方法的作用是初始化。
例1:
class Myclass: i = 123 def __init__(self,friend): self.friend = friend def func(self,myself): #带有参数的类方法 self.myself = myself return self.myself +"say hello to " + self.friend use_class = Myclass("xiaoming") print("调用类的属性:",use_class.i) print("调用类的方法:", use_class.func("xiaohong"))
输出结果:
#调用类的属性: 123 #调用类的方法: xiaohongsay hello to xiaoming
1、在python中定义类时没有定义__init__( )方法,则在类实例化时系统会自动调用默认的构造方法(无参数的__init__( )方法),另外__init__( )方法可以有参数,参数通过__init__( )传递到类的实例化操作上
2、一个类中可以定义多个构造方法(__init__( )),但是实例化类时只会实例化最后的构造方法,即后面的构造方法会覆盖前面的构造方法,并且需要根据最后一个构造方法的形式进行实例化(参数与最后一个构造方法的参数一致)。因此一个类中最好只定义一个构造方法
3、初始化实例包括:定义和初始化实例属性或调用类的一些方法。
4、构造方法可以带有除self外的其它各种参数(关键字参数、默认参数、用元组收集参数、用字典收集关键字参数等),可以在实例化类时,传入对应的实参。
当类中的一个对象被创建时,会立即调用构造方法。
构造方法 init的使用:
class FooBar: def __init__(self): self.somevar = 42 f = FooBar() print f.somevar (这里注意f = FooBar(),要带括号)
输出结果:
42
带参数构造
class FooBar: def __init__(self,value=42): self.somevar = value f = FooBar("this is a constructor argument") print f.somevar
输出结果:
this is a constructor argument
以上就是python类的构造函数是什么的详细内容,更多请关注亿速云其它相关文章!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。