설명을 위해 다음 Python 코드를 작성했습니다.
class foo:
def foo_function(self):
return 1
class bar:
def bar_function(self):
foo = foo()
return foo.foo_function()
bar = bar()
print(bar.bar_function())
수업에서 bar
나는 class 를 사용해야합니다 foo
. 실행할 때 다음과 같은 오류가 발생합니다.
# UnboundLocalError: local variable 'foo' referenced before assignment
이 오류는 foo = foo()
변수와 클래스의 이름이 같은 줄 에서 발생하며 다른 이름을 사용하면 사라지지만 내부적으로 무슨 일이 일어 났는지 알고 싶습니다 bar = bar()
. 괜찮습니다.
그건 그렇고, 이것은 다른 클래스의 한 클래스를 사용하는 올바른 방법입니까? 독립적이기 때문에 별도의 클래스를 사용합니다. 예를 들어 foo
AWS에 비밀을 저장하고 AWS와 bar
전혀 관련이없는 다른 앱에서 비밀을 사용합니다.
hilton92의 대답은 올바른 것입니다. UnboundLocalError에 관한 파이썬 FAQ 도 볼 수 있습니다.
그러나 가장 중요한 것은 코드를 혼란스럽게 만들고 모범 사례 지침을 따르지 않기 때문에 수행중인 작업은 나쁜 생각이라는 것입니다.
PEP 8-Python 코드 용 스타일 가이드 를 읽는 것이 좋습니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다