Python 3.x 如何在python中将基类扩展到子类并打印子类值?
当我试图将基类扩展到子类时,它不能正常工作 它显示错误Python 3.x 如何在python中将基类扩展到子类并打印子类值?,python-3.x,Python 3.x,当我试图将基类扩展到子类时,它不能正常工作 它显示错误 b1=B(“阿德南”,25岁,“男性”) TypeError:object()不接受任何参数 这是我的代码: class A: def letter(self,name,age): self.name=name self.age=age class B(A): def farhan(self,gender): self.gender=gender b1=B("adnan",
b1=B(“阿德南”,25岁,“男性”) TypeError:object()不接受任何参数 这是我的代码:
class A:
def letter(self,name,age):
self.name=name
self.age=age
class B(A):
def farhan(self,gender):
self.gender=gender
b1=B("adnan",25,"male")
print(b1.name,b1.age,b1.gender)
您的所有类都没有用于初始化类的
\uuuuu init\uuuu
方法。当您这样做时:B(“adnan”,25,“male”)
,它被转换为对B的调用
B.__init__(<object of type B>, "adnan", 25, "male")
当你写这样的东西时
b1 = B("adnan", 25, "male")
您正在创建类“B”的新实例。当您这样做时,您正在调用该类的\uuuu init\uuuu
方法。一个可能的解决方案是:
class B(A):
def __init__(self, name, age, gender):
self.name = name
self.age = age
self.gender = gender
您需要提高Python OOP技能!一个好的来源是“它不能正常工作”不是一个问题描述。请描述您的代码“不工作”的确切方式,并包括您得到的任何错误。b1=B(“adnan”,25,“male”)类型错误:object()不带参数这是Java中的错误我可以将父类扩展到子类,并使用父类中的所有内容。我的名字和年龄是A类(父类)。。为什么我必须再次将其初始化为子类?我想在B班加上性别。。你明白我的意思吗?你也可以在子类中使用从classA
继承的所有内容super()。\uuuu init\uuuu(…)
在B
对象上运行A
\uuuu init\uuuuu
方法,以便创建并初始化.name
和.age
。在Java中,我可以将父类扩展到子类,并使用父类中的所有内容。我的名字和年龄是A类(父类)。。为什么我必须再次将其初始化为子类?我只想在B类中添加性别,我想打印所有值。。你明白我的意思吗?
class B(A):
def __init__(self, name, age, gender):
self.name = name
self.age = age
self.gender = gender