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班加上性别。。你明白我的意思吗?你也可以在子类中使用从class
A
继承的所有内容
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