반응형

OOP 2

special method, __add__ , __iadd__

생성자 __init__은 제외하고, 비교 연산자의 special method object는 해당 인스턴스 객체를 호출한 다음 호출하는 것 < 를 클래스 내부에서 __it__형태로 구현했다면 a = Calculator() 로 호출해서, a < 5 등 으로 확인할 수 있음. object.__gt__(self, other) +, -, |, & 등의 바이너리 연산자의 특수 메소드. 여기에서 리스트 끼리의 연산을 구현했었다. 리스트 끼리 연산한다면 객체 형태로 반환받는 게 낫다는 걸 구현하면서 익혔다. + object.__add__(self, other) - object.__sub__(self, other) * object.__mul__(self, other) // object.__floordiv__(self, ..

Python 2022.12.04

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

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'라는 특성을 가지..

Python 2022.09.16
반응형