파이썬을 쓰다가 필요한 기능이 있어서 찾아 보면, 언어 자체에서 지원하는 기능인 경우가 종종 있었다. 지금까지 파이썬을 다루면서 찾아봤던 내장 함수들을 정리해 본다.
아래에서 계속 iterable이라는 말을 많이 쓸 것이다. iterable에는 sequence type인 list, str, tuple 뿐만 아니라 non-sequence type인 dict, file object, 그리고 Sequence semantics를 구현하기 위해 __iter__()나 __getitem__() method가 정의되어 있는 클래스의 object 등이 있다. (참고)
sum(): 각각의 item을 합치기 참고: https://docs.python.org/3/library/functions.html#sum
sum(iterable[, start]) iterable 객체를 받아서 각 요소들의 합을 구한다.
이번 글에서는 파이썬에서 테스트 코드를 만들면서 겪었던 시행착오에 대해 소개하고자 한다. 여기서는 파이썬에 내장된 unittest를 이용한다.
테스트를 수행하는 기준은? 간단한 코드를 만들어 보자. 파일 이름은 aaa.py로 저장한다.
import unittest class TestExample(unittest.TestCase): def test_a(self): self.assertEqual(1 == 2, False) 그리고 쉘에서 python -m unittest를 입력하면, 아무 테스트도 실행하지 않는다.
$ python -m unittest ---------------------------------------------------------------------- Ran 0 tests in 0.000s OK 왜 그럴까? unittest 라이브러리는 기본적으로 실행하는 top-level 디렉터리에서 test로 시작하는 파일을 찾아서 테스트를 수행한다.
파이썬을 쓰다 보면 문자열을 다루는 경우가 많은데, 문자열을 특정한 양식에 맞추어야 하는 경우가 종종 있었다. 이 경우 PyFormat과 같은 사이트를 참조한다. 하지만 날짜나 시간을 formatting 할 때는 상세한 규칙이 정리되어 있지 않아서 이 참에 정리를 해 보려고 한다.
문자열을 넣거나 숫자를 다루는 경우, PyFormat에 자세한 내용이 있어서 생략한다.
이 글에서는 현재 시간을 datetime 객체로 받고, 이를 가지고 날짜와 시간을 문자열로 formatting 해 볼 것이다. (아래 코드 참조)
import datetime now = datetime.
쉘 스크립트를 만들 때, 텍스트 파일의 내용을 바꾸는 기능이 필요할 때가 있다. 이 경우 sed를 쓰는데, sed의 사용 방법이 헷갈릴 때가 많아 이 기회에 정리를 해 보고자 한다. 이 글에서는 기본적인 사용 방법과 내가 주로 사용하는 기능만 정리하였다. sed가 지원하는 전체 기능이 궁금하다면, man page(man sed)를 확인하는 것이 최선이다.
텍스트 바꾸기 기본적으로 sed를 이용해서 텍스트를 바꾸는 방법은 다음과 같다.
$ sed -i 's/<원래 내용>/<바꿀 내용>/g' <파일 이름> 여기서 -i, s/<원래 내용>/<바꿀 내용>/, g가 의미하는 내용은 다음과 같다.
이 포스트는 개인적으로 이직을 준비하는 과정에서 느낀 점들을 정리한 글입니다. 차후 발생 가능한 문제를 막기 위해, 채용 프로세스나 면접 질문을 언급하는 과정에서 특정한 기업을 지칭하지 않습니다. 구직/구인 과정에서 참고로 봐 주시면 좋겠습니다.
배경 프로필에도 적어 놓았지만, 저는 아직 인턴 신분으로 일하고 있습니다. 저희 기관 특성 상 정규직 T/O가 나오기 어렵기 때문에, 이직을 결심하고 여러 군데에 서류를 제출하기 시작했습니다.
일단 지금까지의 프로필을 요약하면 다음과 같습니다.
복수전공으로 컴퓨터학부를 전공 (본 전공은 사범대에서 사회교육) 첫 직장은 임베디드 쪽 경력으로 시작 (리눅스 기반, C 언어 주로 사용) 현재는 공공기관 인턴으로 근무 (부서에서는 개발자 역할을 하고 있습니다) Python, Django 기반의 Toy project 개발 경험 PyCon Korea 2017 발표자로 참석 그리고 주로 제가 지원한 곳은 스타트업이 많았습니다.