====== 네이밍 가이드 ====== ===== 앞글자를 따서 약자로 쓰는 단어들 ===== * coordinate => coord * distance => dist * direction => dir_ * dir은 builtin 함수라서 뒤에 _를 붙인다. direc도 고민했으나 탈락 * current => cur * previous => prev * (next => next_ ) * return => ret * 보통 return value 의 의미 * result => res * position => pos * index => ind * column => col * (row는 그대로 row) * begin => beg * (end는 그대로 end) * number => num * calculate => calc * value => val * difference => diff * string => str_ * total => tot * destination => dest * (source는 그대로 source) * function => func * parent => par ===== 컨테이너 클래스의 메소드 이름에 관해서 ===== * 언어/컨테이너에 따라서 비슷한 의미의 단어들이 여러가지가 섞여서 쓰이는데. 기왕이면 기존 라이브러리들과 일관성 있게 짓고 싶어서 정리 * 삽입은 append/add/insert/push ... * 삭제는 remove/delete/erase/pop, ... * 그런데 진짜 일관성이 없다.. 다른 언어들은 그래도 좀 짜임새가 있는데 파이썬만 왜 이 난리임?? ==== 삭제 ==== ^ 이름/컨테이너 ^ Sequence(list) ^ Set(set) ^ Mapping(dict) ^ heapq ^ deque ^ | del (=__delitem__) | 인덱스로 제거 | X | 키값으로 제거 | X | X | | remove | 값으로 제거 | 값으로 제거 (예외) | X | X | X | | pop | 인덱스로 제거 | 알아서 한개 제거 (랜덤) | 키 값으로 제거 | 최소값을 제거 | 오른쪽 끝에서 제거 | | popitem | X | X | 알아서 한개 제거 (추가된 순서) | X | X | | popleft | X | X | X | X | 왼쪽 끝에서 제거 | | discard | X | 값으로 제거 (예외발생X) | X| X | X | * Java에서는 List/Set/Map의 삭제는 모두 remove로 통일되어있다 * Queue는 추가로 poll 메소드를 지원 * cpp에서는 vector/set/map의 삭제는 모두 erase로 통일되어있다. * vector에는 pop_back이 추가됨