Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/360.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
python:对象的实例化_Python_Initialization - Fatal编程技术网

python:对象的实例化

python:对象的实例化,python,initialization,Python,Initialization,要创建Team类的对象 class Team : def __init__(self): print "object instantiated" 从obj我可以访问团队类的成员。但为什么允许这样做 >>> obj = Team() object instantiated 这里提出了一些问题 为什么obj能够调用\uuuuu init\uuuuu(),\uuuuuu init\uuuuu()就像另一个方法一样 无论何时调用\uuuu init\uuuu

要创建Team类的对象

class Team :
    def __init__(self):
        print "object instantiated"
obj
我可以访问团队类的成员。但为什么允许这样做

>>> obj = Team()
object instantiated
这里提出了一些问题

  • 为什么
    obj
    能够调用
    \uuuuu init\uuuuu()
    \uuuuuu init\uuuuu()
    就像另一个方法一样

  • 无论何时调用
    \uuuu init\uuuu()
    ,它都将创建一个对象(如果我在这里出错,请更正),因此
    y
    是否应该保存另一个
    团队的实例


  • 除特殊用途外,所有“魔术”(双下划线)方法都可以作为常规方法使用。
    \uuuu init\uuuu
    方法实际上并不创建对象实例,它只是在
    \uuuu new\uuuuu
    方法创建对象之后初始化对象。(请注意,
    \uuuuu init\uuuuu
    不返回任何内容,因此
    y
    y=obj之后将
    None
    。\uuuu init\uuuuu()

    init
    初始化。它与C++/Java中的构造函数不同,请参见
    y
    将为None,因为
    \uuu init\uuu()
    不会根据规范返回任何内容。
    >>> y = obj.__init__()
    object instantiated