날짜와 시간을 처리할 때 많이 쓰던 strptime과 strftime에 대해서 알아봅시다. 형식 코드들은 상당히 많으니, 이 문서를 참고해 보셔도 좋을 듯 합니다. 먼저 strptime은 string을 파싱해서 datetime object로 돌려주는 역할을 합니다. 이 작업이 왜 중요한 건가? datetime으로 변환을 하면, 특정 날짜로부터 몇 일이 지났는지도 구할 수 있고, 두 날짜의 차이도 구할 수 있기 때문입니다. 이 strptime은 인자를 2개 받는데요. 하나는 string, 다른 하나는 format을 의미하는 string입니다. 이제, YYYY-MM-DD hh:mm:ss 꼴로 들어왔다면, format string은 "%Y-%m-%d %H:%M:%S"로 받아주면 됩니다. 예제를 하나 보겠습니다..
레퍼런스 검색 결과
안녕하세요. 이번 시간에는 shutil의 rmtree와 os의 rmdir에 대해서 간단하게 알아보겠습니다. 먼저, rmtree는 폴더 안에 있는 내용들을 재귀적으로 삭제합니다. 현재, 제 working directory에는 디렉토리 a와 디렉토리 b가 있습니다. 각각의 디렉토리 안에는 1.txt가 있어요. 여기서, 우리는 디렉토리 "a"에 있는 것들을 모두 삭제하려고 해요. 이 때, shutil의 rmtree를 쓰시면 됩니다. test.py의 2번째 줄은, 디렉토리 a와 a 안에 있는 것들을 재귀적으로 삭제합니다. 뭔가 위험해 보이네요. 그런데, 3번째 줄에, shutil.rmtree.avoid_symlink_attacks가 있는데요. 이것을 출력하고 있어요. 이 값이 True인 경우, 구현이 심볼릭 링..
이번 시간에는 파이썬 hasattr과 getattr에 대해 간단하게 알아봅시다. 먼저 hasattr은 객체가 "name"이라는 속성을 가지고 있는지 알아냅니다. 만약에 그렇지 않다면 False를 돌려줍니다. 이 함수는 무언가를 부른다고 되어 있는데요. getattr을 부르고, AttributeError를 catch함으로써 완료한다고 되어 있어요. getattr은 object에서 속성 "name"을 얻습니다. 만약에 없다면, default 값을 뱉어냅니다. default가 없다면 exception을 떨어트립니다. 이 두 함수가 무엇을 하는지 보셨으리라 생각합니다. 이제, 예제를 보겠습니다. 먼저 Child에는 loc과 x가 있습니다. 7번째 줄에 hasattr을 부르는데요. child라는 인스턴스에 "lo..
안녕하세요. 이번 시간에는 java stream의 filter에 대해 알아봅시다. 먼저, filter는 stream을 리턴하는데요. predicate에 match가 되는 원소들로 이루어진 무언가를 리턴합니다. 조건에 매치되는 필터를 적용한 무언가를 리턴한다. 정도로 생각하시면 편할 듯 싶어요. 예제를 하나씩 보겠습니다. 7번째 줄부터 11번째 줄까지 봅시다. 보시면, mapToInt로 들어오는 stream으로부터, valueOf를 적용하는 Intstream을 리턴해요. 다음에, 필터를 태우는데요. k -> k%2 != 0인 걸로 보아서는 홀수만 뽑아오겠다는 필터임을 알 수 있어요. 그리고 boxed는 박싱을 하는 stream을 리턴해요. 최종 연산으로 toList를 호출하는데요. 결과를 List로 뽑아옵..
클린 코드를 스터디 하면서 제가 이전에 짠 코드들을 리팩토링 하고 있는데요. 제가 출제한 문제인 22232번은 코딩 테스트에 꽤 나오는 유형입니다만, 제가 코드를 깔끔하게 짜지 않은 탓에 스터디 재료가 되고 말았습니다. 스터디를 하다가 스트림과 람다에 대해서 오갔는데요. 다른 분의 코드를 보다가, 입력 부분을 Intstream과 range 등을 이용해서 깔끔하게 처리할 수 있다는 것을 보고 놀랐습니다. 사실 이전에도, 한 분이 기여를 해 주셔서 스트림과 람다의 존재는 알고 있었지만, 신세계였습니다. 심지어, String을 Integer로 변환하는 작업도 Stream을 잘 이용하면 잡스러운 로직들을 간결하게 짤 수 있다는 걸 보고 너무 놀랐습니다. 아무튼, 코드를 분석해 보면서 배운 점이 많았는데요. 그 ..
최근댓글