class Object:

def __init__(self,name, role):

self.name = name

self.role = role

if self.role:

self.role.owner = self


class Role:

def __init__(self,salary):

self.salary = salary


def rrr(self):

print self.owner.name




Object 클래스에 새로운 클래스를 만들어서 저렇게 집어넣고 싶은데 집어넣는 클래스마다 인자를 하나씩 만드는건 좀 애바같은데요.


찾아보니 파이썬은 인스턴스에 프로퍼티를 그냥 만들 수 있다고 합니다.


class Object:

def __init__(self,name):

self.name = name


class Role:

def __init__(self,salary):

self.salary = salary


def rrr(self):

print self.owner.name


pete = Object('Pete')

pete.role = Role(1000)

pete.role.owner = pete



저렇게 마지막 두줄처럼 쓰면 인자는 안만들어도 될것 같은데 뭔가 좀 불편해보입니당.. 그리고 pete 말고 다른 친구들을 만들면 또 저런걸 해야되는 것도 맘에 안들고 ...


결국 상속을 쓰는 방법 밖에 없을까요? 뭔가 동적으로 클래스를 샥샥 만드는 방법이 없을까요?