采用 1 个位置参数,但 2 个参数给出了 dict 错误
takes 1 positional argument but 2 were given error for dict
如何在cs列表中添加两个字典
我想在addcoursess函数中添加两个字典到cs列表,但是报错
文本错误:采用 1 个位置参数,但给出了 2 个
主要名单:
cs = [
{
"title": "Python",
"teacher": "Amiri",
},
{
"title": "HTML",
"teacher": "Dehyami",
},
{
"title": "PHP",
"teacher": "Enayati"
}
]
class User:
def __init__(self, fisrtname, lastname):
self.fname = fisrtname
self.lname = lastname
def fullname(self):
print(f"my fullname is {self.fname} {self.lname}")
class Student(User):
def __init__(self, fisrtname, lastname, email):
super().__init__(fisrtname, lastname)
self.email = email
self.coursess = []
def fullname(self):
print("i am an student")
super().fullname()
def printcoursess(self):
if self.coursess:
for course in self.coursess:
print("Coursess : " + course["title"])
else:
print("There is no course")
这是错误的class
class Teacher(User):
def __init__(self, fisrtname, lastname, code):
super().__init__(fisrtname, lastname)
self.code = code
def addcoursess(item):
dict = {}
dict.update(item)
cs.append(dict)
print(dict)
def fullname(self):
print("i am an teacher")
super().fullname()
t1 = Teacher("abolfazl", "zaker", 3223)
在此处添加课程功能
t1.addcoursess({"title": "Java", "teacher": "ganjeali"})
print(cs)
你错过了函数定义中的 self
参数。你的老师 class 应该是这样的:
class Teacher(User):
def __init__(self, fisrtname, lastname, code):
super().__init__(fisrtname, lastname)
self.code = code
def addcoursess(self, item):
dict = {}
dict.update(item)
cs.append(dict)
print(dict)
def fullname(self):
print("i am an teacher")
super().fullname()
或者如果你不想传递 self
,class 应该用 @staticmethod
装饰器定义,如下所示:
class Teacher(User):
def __init__(self, fisrtname, lastname, code):
super().__init__(fisrtname, lastname)
self.code = code
@staticmethod
def addcoursess(item):
dict = {}
dict.update(item)
cs.append(dict)
print(dict)
def fullname(self):
print("i am an teacher")
super().fullname()
关于静态方法的信息在这里:https://docs.python.org/3/library/functions.html#staticmethod
您的老师 class 方法缺少 self
,关键字。它应该如下所示
class Teacher(User):
def __init__(self, fisrtname, lastname, code):
super().__init__(fisrtname, lastname)
self.code = code
def addcoursess(self, item):
dict = {}
dict.update(item)
cs.append(dict)
print(dict)
def fullname(self):
print("i am an teacher")
super().fullname()
您忘记在 Teacher
class 的 addcoursess
方法中添加 self
,应该是 addcourse(self,item):
这是您的完整工作代码。
cs = [
{
"title": "Python",
"teacher": "Amiri",
},
{
"title": "HTML",
"teacher": "Dehyami",
},
{
"title": "PHP",
"teacher": "Enayati"
}
]
class User:
def __init__(self, fisrtname, lastname):
self.fname = fisrtname
self.lname = lastname
def fullname(self):
print(f"my fullname is {self.fname} {self.lname}")
class Student(User):
def __init__(self, fisrtname, lastname, email):
super().__init__(fisrtname, lastname)
self.email = email
self.coursess = []
def fullname(self):
print("i am an student")
super().fullname()
def printcoursess(self):
if self.coursess:
for course in self.coursess:
print("Coursess : " + course["title"])
else:
print("There is no course")
class Teacher(User):
def __init__(self, fisrtname, lastname, code):
super().__init__(fisrtname, lastname)
self.code = code
def addcoursess(self, item):
dict = {}
dict.update(item)
cs.append(dict)
print(dict)
def fullname(self):
print("i am an teacher")
super().fullname()
t1 = Teacher("abolfazl", "zaker", 3223)
t1.addcoursess({"title": "Java", "teacher": "ganjeali"})
print(cs)
您忘记了声明中的self
def addcoursess(self, item):
我的结果如下:
[{'teacher': 'Amiri', 'title': 'Python'}, {'teacher': 'Dehyami', 'title': 'HTML'}, {'teacher': 'Enayati', 'title': 'PHP'}, {'teacher': 'ganjeali', 'title': 'Java'}]
如何在cs列表中添加两个字典
我想在addcoursess函数中添加两个字典到cs列表,但是报错 文本错误:采用 1 个位置参数,但给出了 2 个
主要名单:
cs = [
{
"title": "Python",
"teacher": "Amiri",
},
{
"title": "HTML",
"teacher": "Dehyami",
},
{
"title": "PHP",
"teacher": "Enayati"
}
]
class User:
def __init__(self, fisrtname, lastname):
self.fname = fisrtname
self.lname = lastname
def fullname(self):
print(f"my fullname is {self.fname} {self.lname}")
class Student(User):
def __init__(self, fisrtname, lastname, email):
super().__init__(fisrtname, lastname)
self.email = email
self.coursess = []
def fullname(self):
print("i am an student")
super().fullname()
def printcoursess(self):
if self.coursess:
for course in self.coursess:
print("Coursess : " + course["title"])
else:
print("There is no course")
这是错误的class
class Teacher(User):
def __init__(self, fisrtname, lastname, code):
super().__init__(fisrtname, lastname)
self.code = code
def addcoursess(item):
dict = {}
dict.update(item)
cs.append(dict)
print(dict)
def fullname(self):
print("i am an teacher")
super().fullname()
t1 = Teacher("abolfazl", "zaker", 3223)
在此处添加课程功能
t1.addcoursess({"title": "Java", "teacher": "ganjeali"})
print(cs)
你错过了函数定义中的 self
参数。你的老师 class 应该是这样的:
class Teacher(User):
def __init__(self, fisrtname, lastname, code):
super().__init__(fisrtname, lastname)
self.code = code
def addcoursess(self, item):
dict = {}
dict.update(item)
cs.append(dict)
print(dict)
def fullname(self):
print("i am an teacher")
super().fullname()
或者如果你不想传递 self
,class 应该用 @staticmethod
装饰器定义,如下所示:
class Teacher(User):
def __init__(self, fisrtname, lastname, code):
super().__init__(fisrtname, lastname)
self.code = code
@staticmethod
def addcoursess(item):
dict = {}
dict.update(item)
cs.append(dict)
print(dict)
def fullname(self):
print("i am an teacher")
super().fullname()
关于静态方法的信息在这里:https://docs.python.org/3/library/functions.html#staticmethod
您的老师 class 方法缺少 self
,关键字。它应该如下所示
class Teacher(User):
def __init__(self, fisrtname, lastname, code):
super().__init__(fisrtname, lastname)
self.code = code
def addcoursess(self, item):
dict = {}
dict.update(item)
cs.append(dict)
print(dict)
def fullname(self):
print("i am an teacher")
super().fullname()
您忘记在 Teacher
class 的 addcoursess
方法中添加 self
,应该是 addcourse(self,item):
这是您的完整工作代码。
cs = [
{
"title": "Python",
"teacher": "Amiri",
},
{
"title": "HTML",
"teacher": "Dehyami",
},
{
"title": "PHP",
"teacher": "Enayati"
}
]
class User:
def __init__(self, fisrtname, lastname):
self.fname = fisrtname
self.lname = lastname
def fullname(self):
print(f"my fullname is {self.fname} {self.lname}")
class Student(User):
def __init__(self, fisrtname, lastname, email):
super().__init__(fisrtname, lastname)
self.email = email
self.coursess = []
def fullname(self):
print("i am an student")
super().fullname()
def printcoursess(self):
if self.coursess:
for course in self.coursess:
print("Coursess : " + course["title"])
else:
print("There is no course")
class Teacher(User):
def __init__(self, fisrtname, lastname, code):
super().__init__(fisrtname, lastname)
self.code = code
def addcoursess(self, item):
dict = {}
dict.update(item)
cs.append(dict)
print(dict)
def fullname(self):
print("i am an teacher")
super().fullname()
t1 = Teacher("abolfazl", "zaker", 3223)
t1.addcoursess({"title": "Java", "teacher": "ganjeali"})
print(cs)
您忘记了声明中的self
def addcoursess(self, item):
我的结果如下:
[{'teacher': 'Amiri', 'title': 'Python'}, {'teacher': 'Dehyami', 'title': 'HTML'}, {'teacher': 'Enayati', 'title': 'PHP'}, {'teacher': 'ganjeali', 'title': 'Java'}]