如何正确实例化这段代码?

问题描述

我想通过将M,F声明为变量来实例化两个子类。从那里,我想为生成的实例打印性别。

我正在密切关注示例,但是我无法辨别为什么我的代码无法正常工作,并且不断出现错误:“ get_gender()接受0个位置参数,但给出了1个位置”

我将不胜感激

class Person:

    class Male(Person):
        
        def get_gender(self):
            print("male")
            

    class Female(Person):
        
        def get_gender(self):
            print("female")
            
M = Male()          # instance
F = Female()        # instance

M.get_gender()
F.get_gender()

解决方法

MaleFemale不应嵌套在父类Person中。

class Person:
    pass

class Male(Person):
    
    def get_gender(self):
        print("male")
        

class Female(Person):
    
    def get_gender(self):
        print("female")
            
M = Male()          # instance
F = Female()        # instance

M.get_gender()
F.get_gender()