代码报错,无法运行,望有人修改解决,python

class Person(object):
    def __init__(self,id,name,sex,married):
        if not isinstance(id,str):
            raise Exception("ID must be srting")
        self.id =id 
        
        if not isinstance(name,str):
            raise Exception("name must be string")
        self.name=name
        
        if sex not in ('男','女'):
            raise Exception("性别为男或女")
        self.sex=sex
        
        if married not in ('已婚','未婚'):
            raise Exception("婚况只能未已婚和未婚")
        self.married=married
        
        def __get(self):
            return self.__married
            
        def __set(self,v):
            self.__married=v 
            
        def __del(self):
            del self.__married
        
        married=property(__get,__set,__del)    

def show(self):
    print('ID:',self.ID)
    print('name:',self.name)
    print('sex:',self.sex)
    print('married:',self.__married)
        
    
    
p1=Person('650302198305068965', '王尔康', '女','未婚')    
p1.show() 

img

函数位置错了

class Person(object):
    def __init__(self, id, name, sex, married):
        if not isinstance(id, str):
            raise Exception("ID must be srting")
        self.id = id

        if not isinstance(name, str):
            raise Exception("name must be string")
        self.name = name

        if sex not in ('男', '女'):
            raise Exception("性别为男或女")
        self.sex = sex

        if married not in ('已婚', '未婚'):
            raise Exception("婚况只能未已婚和未婚")
        self.married = married

    def __get(self):
        return self.__married

    def __set(self, v):
        self.__married = v

    def __del(self):
        del self.__married

    married = property(__get, __set, __del)

    def show(self):
        print('ID:', self.id)
        print('name:', self.name)
        print('sex:', self.sex)
        print('married:', self.__married)


p1 = Person('650302198305068965', '王尔康', '女', '未婚')
p1.show()


p1是Person的实例,p1只能用person的方法,你的show方法不在person里面,所以报错