Python : 변수와 클래스의 이름이 같은 경우 : UnboundLocalError : 할당 전에 참조 된 지역 변수 'foo'

Puravidaso

설명을 위해 다음 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(). 괜찮습니다.

그건 그렇고, 이것은 다른 클래스의 한 클래스를 사용하는 올바른 방법입니까? 독립적이기 때문에 별도의 클래스를 사용합니다. 예를 들어 fooAWS에 비밀을 저장하고 AWS와 bar전혀 관련이없는 다른 앱에서 비밀을 사용합니다.

wankata

hilton92의 대답은 올바른 것입니다. UnboundLocalError에 관한 파이썬 FAQ 도 볼 수 있습니다.

그러나 가장 중요한 것은 코드를 혼란스럽게 만들고 모범 사례 지침을 따르지 않기 때문에 수행중인 작업은 나쁜 생각이라는 것입니다.

PEP 8-Python 코드 용 스타일 가이드 를 읽는 것이 좋습니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

Related 관련 기사

뜨겁다태그

보관