Python 为什么我用其他关键字(如(info)替换_init_uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu
回溯(最近一次呼叫最后一次): 文件“main.py”,第8行,在 emp1=工人('sujit','regmi',2260000)Python 为什么我用其他关键字(如(info)替换_init_uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu,python,class,init,Python,Class,Init,回溯(最近一次呼叫最后一次): 文件“main.py”,第8行,在 emp1=工人('sujit','regmi',2260000) TypeError:此构造函数不带任何参数\uuuu init\uuuuu是构造函数的标准名称,您永远不会显式调用构造函数。 它在创建对象时隐式调用。 让我们来看看你的情况 class worker: def info(self,name,last,age,salary): self.name=name self.last=
TypeError:此构造函数不带任何参数
\uuuu init\uuuuu
是构造函数的标准名称,您永远不会显式调用构造函数。
它在创建对象时隐式调用。
让我们来看看你的情况
class worker:
def info(self,name,last,age,salary):
self.name=name
self.last=last
self.age=age
self.salary=salary
self.email=name+last+'@'+'gmail.com'
emp1=worker('sujit','regmi',22,60000)
print(emp1.email)
现在,要初始化该类,您需要执行以下操作:
emp1=worker('sujit','regmi',2260000)
类对象将通过隐式调用\uuuu init\uuu
来创建。
但是,当您更改\uuu init\uu
函数的名称时,Python不知道调用谁来初始化对象
这就是它给出错误的原因。尝试使用构造函数。
\uuuu init\uuuu
是python中使用构造函数的关键字:
class worker:
def __init__(self,name,last,age,salary):
self.name=name
self.last=last
self.age=age
self.salary=salary
self.email=name+last+'@'+'gmail.com'
emp1=worker('sujit','regmi',22,60000)
print(emp1.email)
Python怎么知道您打算替换
\uuuu init\uuuu
?正确解释,他知道它与构造函数一起工作。冷静,下次小心。
class worker:
def __init__(self,name,last,age,salary):
self.name=name
self.last=last
self.age=age
self.salary=salary
self.email=name+last+'@'+'gmail.com'
emp1=worker('sujit','regmi',22,60000)
print(emp1.email)