def __init__(self, name): self.name = name print("Name is {}".format(name)) class Student(Person): def __new__(cls, *args, **kwargs): print("Call the new method student") return super().__new__(cls, name=args[0]) # 父类不是object,可以将参数传递给父类的__new__()方...
class MyClass: def __init__(self, param): self.param = param obj = MyClass() # 无参数错误 在上面的示例中,__init__方法定义了一个参数param,但在创建MyClass的实例时没有传递参数,导致出现无参数错误。 要解决这个错误,我们需要在创建类的实例时传递所需的参数,例如: ...
self在定义类的方法时是必须有的,虽然在调用时不必传入相应的参数。 self名称不是必须的,在python中self不是关键词,你可以定义成a或b或其它名字都可以,但是约定成俗(为了和其他编程语言统一,减少理解难度),不要搞另类,大家会不明白的。 下例中将self改为myname一样没有错误: class Person: def _init_(myname...
classAnimal:species="Canine"def__init__(self,name):self.name=name@classmethoddefcreate_dog(cls,n...
Python class中的静态方法,通常不需要self参数。Python class中的类方法,首个参数通常被约定为cls。1、...
python类class中_init_函数以及参数self的简单解释 1)_init_函数(方法) ''' 遇到问题没人解答?小编创建了一个Python学习交流QQ群:579817333 寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书! '''#-*- encoding:utf-8 -*-classNewClass(object):def__init__(self,name):printself...
__new__是一个内置staticmethod,其首个参数必须是type类型--要实例化的class本身,其负责为传入的class type分配内存、创建一个新实例并返回该实例,该返回值其实就是后续执行__init__函数的入参self,大体执行逻辑其实可以从Python的源码typeobject.c中定义的type_call函数看出来:...
class Dog(): def __init__(self,name_of_dog,age_of_dog): self.name = name_of_dog self.age = age_of_dog def setname(self,name): self.name = name def setage(self,age): self.age = agemy_dog = Dog("haha",5)my_dog.setname("haha")my_dog.s...
__init__(构造函数)不能是静态方法。当你调用类的构造函数MyClass()的__init__方法被调用。该self是到该方法属于对象的占位符参数-它可以让你访问该对象的属性。但是,如果您将其设为a,@staticmethod则将self其解释为正常参数 - 这就是您看到该Required 1 argument错误的原因。 反对 回复 2022-01-05 慕田峪...
你的__init__有参数,所以你创建对象,要传入参数。报错提示,就是你没有传入参数