当前位置:主页 > python教程 > python类的构造函数是什么

python类的构造函数详解

发布:2020-01-13 14:30:07 69


本站精选了一篇python类的构造函数相关的编程文章,网友慎韫玉根据主题投稿了本篇教程内容,涉及到python、构造函数、python类的构造函数是什么相关内容,已被482网友关注,内容中涉及的知识点可以在下方直接下载获取。

python类的构造函数是什么

python魔法方法:__init__( )方法,被称为构造方法。__init__()方法的魔力体现在只要实例化一个对象,这个方法就会在对象被创建时自动调用。实例化对象时是可以传入参数的,这些参数会自动传入__init__()方法中,可以通过重写这个方法来自定义对象的初始化操作。

 

总结:__init__()方法是一个特殊的方法,在对象实例化时会被调用,__init__()方法的作用是初始化。

python类的构造函数是什么

例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

相关推荐:《Python视频教程》

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类的构造函数是什么的详细内容,更多请关注码农之家其它相关文章!


参考资料

相关文章

  • python中的高效迭代器函数用法总结

    发布:2019-08-30

    今天小编就为大家分享一篇对python中的高效迭代器函数详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧


  • Python自定义函数与Python函数返回值详解

    发布:2019-10-24

    函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。


  • Python3中函数参数传递方式浅析

    发布:2019-12-07

    这篇文章主要介绍了Python3中函数参数传递方式,结合实例形式较为详细的分析了Python3中函数参数传递的常见操作技巧,需要的朋友可以参考下


  • python利用Future对象回调别的函数知识点总结

    发布:2019-11-06

    最近在学习python,所以这篇文章主要给大家介绍了关于在python中利用Future对象回调别的函数的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需


网友讨论