Microsoft MVP성태의 닷넷 이야기
글쓴 사람
정성태 (techsharer at outlook.com)
홈페이지
첨부 파일
 

파이썬 오류 - AttributeError: type object '...' has no attribute '...'

컴파일러 환경에서만 개발했던 경우라면, 이 에러가 왜 났는지 잘 이해가 안 될 수 있습니다. ^^;

가령 다음과 같은 코드에서,

class MyTest:
    def __init__(self):
        MyTest.get_my_ip()

    @staticmethod
    def get_my_lp(self):
        return 5

t = MyTest()

실행하면, 이런 식으로 오류 메시지를 볼 수 있습니다.

Traceback (most recent call last):
  File "/mnt/d/pycharm/work/testconsole/main.py", line 16, in <module>
    t = MyTest()
  File "/mnt/d/pycharm/work/testconsole/main.py", line 9, in __init__
    MyTest.get_my_ip()
AttributeError: type object 'MyTest' has no attribute 'get_my_ip'

단순하게 오류 메시지로만 봤을 때는 왜 메서드 호출에서 "attribute"를 찾을 수 없다고 하는 것인지, 거기서부터 헤맬 수 있습니다. ^^; 하지만, 자세히 보면 철자에 오류가 있었던 것입니다. 가령, get_my_ip를 get_my_lp로 정의했기 때문입니다.

따라서, 저런 오류를 만나게 되면 눈 크게 뜨고 철자 오류가 없는지 유심히 봐야 합니다. (혹은, PyCharm과 같은 IDE를 사용하면 저런 경우 "MyTest.get_my_ip()"에서 get_my_ip를 찾을 수 없어 박스 표시를 해주므로 더 식별이 용이합니다.)




[이 글에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.]







[최초 등록일: ]
[최종 수정일: 10/1/2021]

Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
by SeongTae Jeong, mailto:techsharer at outlook.com

비밀번호

댓글 작성자
 




... 61  62  63  64  65  66  67  68  69  70  71  72  [73]  74  75  ...
NoWriterDateCnt.TitleFile(s)
12202정성태3/18/202026035개발 환경 구성: 486. .NET Framework 프로젝트를 위한 GitLab CI/CD Runner 구성
12201정성태3/18/202022615오류 유형: 611. git-credential-manager.exe: Using credentials for username "Personal Access Token". [1]
12200정성태3/18/202022633VS.NET IDE: 145. NuGet + Github 라이브러리 디버깅 관련 옵션 3가지 - "Enable Just My Code" / "Enable Source Link support" / "Suppress JIT optimization on module load (Managed only)"
12199정성태3/17/202020807오류 유형: 610. C# - CodeDomProvider 사용 시 Unhandled Exception: System.IO.DirectoryNotFoundException: Could not find a part of the path '...\f2_6uod0.tmp'.
12198정성태3/17/202024264오류 유형: 609. SQL 서버 접속 시 "Cannot open user default database. Login failed."
12197정성태3/17/202023682VS.NET IDE: 144. .NET Core 콘솔 응용 프로그램을 배포(publish) 시 docker image 자동 생성 - 두 번째 이야기 [1]
12196정성태3/17/202020184오류 유형: 608. The ServicedComponent being invoked is not correctly configured (Use regsvcs to re-register).
12195정성태3/16/202022461.NET Framework: 902. C# - 프로세스의 모든 핸들을 열람 - 세 번째 이야기
12194정성태3/16/202025735오류 유형: 607. PostgreSQL - Npgsql.NpgsqlException: sorry, too many clients already
12193정성태3/16/202023034개발 환경 구성: 485. docker - SAP Adaptive Server Enterprise 컨테이너 실행 [1]
12192정성태3/14/202023555개발 환경 구성: 484. docker - Sybase Anywhere 16 컨테이너 실행
12191정성태3/14/202025129개발 환경 구성: 483. docker - OracleXE 컨테이너 실행 [1]
12190정성태3/14/202019638오류 유형: 606. Docker Desktop 업그레이드 시 "The process cannot access the file 'C:\Program Files\Docker\Docker\resources\dockerd.exe' because it is being used by another process."
12189정성태3/13/202024990개발 환경 구성: 482. Facebook OAuth 처리 시 상태 정보 전달 방법과 "유효한 OAuth 리디렉션 URI" 설정 규칙
12188정성태3/13/202033164Windows: 169. 부팅 시점에 실행되는 chkdsk 결과를 확인하는 방법
12187정성태3/12/202020367오류 유형: 605. NtpClient was unable to set a manual peer to use as a time source because of duplicate error on '...'.
12186정성태3/12/202021287오류 유형: 604. The SysVol Permissions for one or more GPOs on this domain controller and not in sync with the permissions for the GPOs on the Baseline domain controller.
12185정성태3/11/202022444오류 유형: 603. The browser service was unable to retrieve a list of servers from the browser master...
12184정성태3/11/202024748오류 유형: 602. Automatic certificate enrollment for local system failed (0x800706ba) The RPC server is unavailable. [3]
12183정성태3/11/202021052오류 유형: 601. Warning: DsGetDcName returned information for \\[...], when we were trying to reach [...].
12182정성태3/11/202022956.NET Framework: 901. C# Windows Forms - Vista/7 이후의 Progress Bar 업데이트가 느린 문제파일 다운로드1
12181정성태3/11/202023405기타: 76. 재현 가능한 최소한의 예제 프로젝트란? - 두 번째 예제파일 다운로드1
12180정성태3/10/202020183오류 유형: 600. "Docker Desktop for Windows" - EXPOSE 포트가 LISTENING 되지 않는 문제
12179정성태3/10/202030808개발 환경 구성: 481. docker - PostgreSQL 컨테이너 실행
12178정성태3/10/202024670개발 환경 구성: 480. Linux 운영체제의 docker를 위한 tcp 바인딩 추가 [1]
12177정성태3/9/202023689개발 환경 구성: 479. docker - MySQL 컨테이너 실행
... 61  62  63  64  65  66  67  68  69  70  71  72  [73]  74  75  ...