Python

'~' object is not subscriptable / 'dict' object has no attribute 'id' / dictionary 와 OOP객체

summerorange 2022. 9. 16. 23:42
반응형

dictionary 에서 호출할 때  {"key": "value"} 에서 dic.key 혹은 dic["key"]로 둘 다 호출한다고 알고 있었는데 특정 조건에선 다음의 에러가 나는 것 같다.

 

json 파일을 그대로(딕셔너리) 쓴 것과 ( posts = requests.get(url).json() )

oop 객체로 class 함수로 만들어서 넣고 호출할 때 (post_objects )

객체로 만든 건 ["id"] 등의 변수로 호출하려니 not subscriptable하다고 뜬다.

에러나지 않게 하기 위해서는 post.id 로 바꿔야 했다.

그러면 그냥 .변수명으로 호출하면 어떻게 에러가 뜨는지 확인했는데

'dict' object has no attribute 'id'

딕셔너리 객체는 'id'라는 특성을 가지고 있지 않는다고 떴다.

타입도 확인 post 클래스 객체와  (=> 객체 호출 obj.value)

불러온 json 파일은 class 타입  (=> dictionary 호출하듯 dic["key"])

한 번 더 테스트

딕셔너리 타입은 .(dot) 찍고 호출해도 되었던 걸로 예전에 기억했는데 혼란스러워져서 한 번 다시...

post["id"] 만,

객체는 post_obj.id 로만

 

반응형