问答详情
源自:4-3 Python面向对象-类与运算符

运行不成功老师您上一节的代码,我运行不成功呢


#!/usr/bin/ipython

#coding:utf-8


class Programer(object):


  def __new__(cls,*args,**kwargs):

    print ("call __new__ method")

    print (args)

    return super(Programer,cls).__new__(cls,*args,**kwargs)


  def __init__(self,name,age):

    print ("call __init__ method")

    self.name=name

    self.age=age


if __name__=='__main__':

    programer=Programer('Albert',25)

    print (programer).__dict__               


提问者:书友 2018-10-22 18:23

个回答

  • Faye_Lee
    2018-10-30 15:28:15

    def __new__(cls,*args,**kwargs):

        print ("call __new__ method")

        print (args)

        return super(Programer,cls).__new__(cls,*args,**kwargs)

    去掉括号里的*args,**kwargs  再运行就好了

  • 飞飞飞丶
    2018-10-27 19:52:42

    class Programer:
      def __new__(cls, *args, **kwargs):
        print("call __new__ method")
        print(args)
        return super(Programer, cls).__new__(cls)
    
      def __init__(self, name, age):
        print("call __init__ method")
        self.name = name
        self.age = age
    
    if __name__ == '__main__':
        programer = Programer('Albert',25)
        print(programer.__dict__)


  • 飞飞飞丶
    2018-10-27 19:27:09

    你可以把报错情况给贴出来