首页 > 解决方案 > 为什么 Python 允许对象引用在创建对象后调用 __init__()?

问题描述

class student:
    ''' Doc String for student class'''
    clgname='#########'
    def __init__(self,name,rNo,branch):
        self.name=name
        self.rNo=rNo
        self.branch=branch
        return None
    @classmethod
    def classMethodexp(cls):
        cls.clgname='halva clg'

if __name__=='__main__':
    obj=student(name='Halv',branch='ece',rNo=12345)
    print(obj.__dict__)
    obj.__init__(name='******',branch='ece',rNo=12345)
    print(obj.__dict__)

输出:

{'name': 'Halv', 'rNo': 12345, 'branch': 'ece'}
{'name': '******', 'rNo': 12345, 'branch': 'ece'}

我听说有一些语言不允许在创建对象后调用构造函数,那为什么 Python 允许呢?

标签: pythonpython-3.x

解决方案


推荐阅读