함수에 전달한 변수의 이름을 가져 오려고합니다.클래스 함수에서 인수/매개 변수에서 변수 이름 가져 오기
class A():
def __init__(self):
self.a = 1
class B():
def __init__(self):
self.b = A()
self.c = A()
def doSomething(self, hello):
print(hello)
B().doSomething(B().b)
<__main__.A object at 0x7f67571a3d68>
내가 원하는 것은 변수 B(). doSomething()에서 변수 b를 식별 할 수 있다는 것입니다. 이것이 가능한가? 한 가지 제한 사항은 B() 함수에서입니다. doSomething() 인스턴스 변수는 B 만 전달됩니다.
이 peewee ( https://github.com/coleifer/peewee)에서 예를 들어, MySQL의 ORM 파이썬에서, 그들은 같은 필터링 표현식을 구축 :B.select().where(B.b == True)
을 그리고 어떻게 든 그들은 식별 할 수있는, 즉 B가 전달됩니다. 그렇지 않으면 쿼리를 제대로 빌드 할 수 없기 때문입니다.
나는 그들이 클래스에서 정적 변수를 사용하고 있다는 것을 알고있다. 아마도이 트릭 일까?
도와 주셔서 감사합니다. :)
질문 아무튼 코드의 경우,
doSomething
에 전달되는 속성이 소속 된 클래스 확인,C
을 세 번째 클래스를 만드는 것이 가장 좋습니다 말이 안돼. 'hello == 'b''를 결정하려고합니까? 아니면 실제 변수 이름을 결정하려고합니까? 아니면'self.b == hello'를 결정하려고합니까? – MCBama실제 변수 이름을 얻으려고합니다. 그것은 또한 B(). c를 전달하는 것일 수도 있습니다. 그러면 나는 c가 통과 한 것을 알게 될 것입니다. – EDNA