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

비밀번호

댓글 작성자
 




... 106  107  108  109  110  [111]  112  113  114  115  116  117  118  119  120  ...
NoWriterDateCnt.TitleFile(s)
11210정성태5/25/201723852기타: 65. ActiveX 없는 전자 메일에 사용된 "개인정보 보호를 위해 암호화된 보안메일"의 암호화 방법
11209정성태5/25/201772186Windows: 143. Windows 10의 Recovery 파티션을 삭제 및 새로 생성하는 방법 [16]
11208정성태5/25/201729909오류 유형: 390. diskpart의 set id 명령어에서 "The specified type is not in the correct format." 오류 발생
11207정성태5/24/201731492Windows: 142. Windows 10의 복구 콘솔로 부팅하는 방법
11206정성태5/24/201724616오류 유형: 389. DISM.exe - The specified image in the specified wim is already mounted for read/write access.
11205정성태5/24/201723969.NET Framework: 658. C#의 tail call 구현은? [1]
11204정성태5/22/201733512개발 환경 구성: 316. 간단하게 살펴보는 Docker for Windows [7]
11203정성태5/19/201720461오류 유형: 388. docker - Host does not exist: "default"
11202정성태5/19/201721874오류 유형: 387. WPF - There is no registered CultureInfo with the IetfLanguageTag 'ug'.
11201정성태5/16/201725632오류 유형: 386. WPF - .NET 3.5 이하에서 TextBox에 한글 입력 시 TextChanged 이벤트의 비정상 종료 문제 [1]파일 다운로드1
11200정성태5/16/201722470오류 유형: 385. WPF - 폰트가 없어 System.IO.FileNotFoundException 예외가 발생하는 경우
11199정성태5/16/201723184.NET Framework: 657. CultureInfo.GetCultures가 반환하는 값
11198정성태5/10/201725848.NET Framework: 656. Windows Forms의 오류(Exception) 처리 방법에 대한 차이점 설명
11197정성태5/8/201721488개발 환경 구성: 315. VHD 파일의 최소 크기파일 다운로드1
11196정성태5/4/201723169오류 유형: 384. Msvm_ImageManagementService WMI 객체를 사용할 때 오류 상황 정리 [1]
11195정성태5/3/201724306.NET Framework: 655. .NET Framework 4.7 릴리스
11194정성태5/3/201725268오류 유형: 383. net use 명령어로 네트워크 드라이브 연결 시 "System error 67 has occurred." 오류 발생
11193정성태5/3/201723037Windows: 141. 설치된 Windows로부터 설치 이미지를 만드는 방법
11192정성태5/2/201725022Windows: 140. unattended.xml/autounattend.xml 파일을 마련하는 방법
11191정성태5/2/201726049Windows: 139. Dell Venue 8 Pro 태블릿에 USB를 이용한 윈도우 운영체제 설치 방법
11190정성태5/2/201731282Windows: 138. Windows 운영체제의 ISO 설치 파일에 미리 Device driver를 준비하는 방법
11189정성태5/2/201722184Windows: 137. Windows 7 USB/DVD DOWNLOAD TOOL로 98%에서 실패하는 경우
11188정성태4/27/201725187VC++: 118. Win32 HANDLE 자료형의 이모저모 [2]
11187정성태4/26/201726350개발 환경 구성: 314. C# - PowerPoint 확장 Add-in 만드는 방법 [1]파일 다운로드1
11186정성태4/24/201724300VS.NET IDE: 117. Visual Studio 확장(VSIX)을 이용해 사용자 매크로를 추가하는 방법 [1]파일 다운로드1
11185정성태4/22/201721986VS.NET IDE: 116. Visual Studio 확장(VSIX)을 이용해 사용자 메뉴 추가하는 방법 (2) - 동적 메뉴 구성파일 다운로드1
... 106  107  108  109  110  [111]  112  113  114  115  116  117  118  119  120  ...