Python_init_和Self,它们是做什么的?

Python_init_和Self,它们是做什么的?

我正在学习Python编程语言,我遇到了一些我不完全理解的东西。

采用如下方法:

def method(self, blah):
    def __init__(?):
        ....
    ....

什么self做?它意味着什么?是强制性的吗?

是什么__init__方法可以吗?为什么有这个必要?(等)

我认为它们可能是OOP结构,但我不太清楚。


MMMHUHU
浏览 1123回答 3
3回答

一只甜甜圈

是的,你是对的,这些是OOP构造。__init__是类的构造函数。这个self参数引用对象的实例(如this在C+中)。class Point:     def __init__(self, x, y):         self._x = x         self._y = y这个__init__方法在分配对象的内存时调用:x = Point(1,2)使用self如果要持久化对象的值,则在对象的方法中使用。例如,如果您实现了__init__方法如下:class Point:     def __init__(self, x, y):         _x = x         _y = y你的x和y参数将存储在堆栈中的变量中,当init方法超出作用域时将被丢弃。将这些变量设置为self._x和self._y将这些变量设置为Point对象(对象的生存期可访问)。

慕沐林林

一个简单的例子希望它能有所帮助,下面是一个简单的例子,我用它来理解在类中声明的变量与在类中声明的变量之间的区别。__init__职能:class MyClass(object):     i = 123     def __init__(self):         self.i = 345a = MyClass()print a.i345print MyClass.i123
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python