예를 들어, 객체가있는 경우, x
을 작성한 다음 과 y
이 동일한 클래스의 새 객체 y
을 어떻게 작성합니까? 자바에서Python에서 인스턴스가 주어진 클래스의 새 인스턴스를 작성하십시오.
의 나는 이런 식으로 뭔가 보일 것 원하는 코드 :
Object y = x.getClass().newInstance();
예를 들어, 객체가있는 경우, x
을 작성한 다음 과 y
이 동일한 클래스의 새 객체 y
을 어떻게 작성합니까? 자바에서Python에서 인스턴스가 주어진 클래스의 새 인스턴스를 작성하십시오.
의 나는 이런 식으로 뭔가 보일 것 원하는 코드 :
Object y = x.getClass().newInstance();
당신은 아마 같은 것을 할 수있는 :
y = x.__class__()
또는
y = type(x)() #New style classes only
을, 당신의 경우 새로운 스타일 클래스를 만드는 방법을 궁금해하시는 분은 object
(또는 python을 사용하십시오.
형식은 이전 스타일 클래스에서는 작동하지 않습니다. 또한, 이것은 아마도 메타 클래스에 대해서는 작동하지 않을 것입니다. – Antimony
옛날 스타일 수업에 대한 의견을 주셔서 감사합니다. (나는 결코 사용하지 않으므로 생각하지 않았습니다.) '메타 클래스'에 관한 한, 나는 그 중 하나도 사용하지 않으므로 사용할 수 없습니다. 그걸 도와주세요. 내 솔루션이 어디에서 실패 할지를 아는 것이 좋습니다. 그 점을 지적 해 주셔서 감사합니다. – mgilson
메타 클래스에 문제가있는 이유를 알 수 없습니다. 문제는 인수없이 생성자를 호출하고 일부가 필요할 수 있다는 것입니다. – JBernardo
자바와 동일 3.X) :
y = x.__class__()
사용자 정의 메타 클래스 및 설명을 사용할 수있는 능력 부여, 그 클래스는 파이썬에서 유연성 개념을 알아 두셔야합니다. – Antimony