'파이썬'에 해당되는 글 23건
파이썬 네임스페이스와 얕은 복사 vs 깊은 복사
파이썬 얕은 복사와 깊은 복사 파이썬 관련된 문서를 보다가 수년 동안 파이썬으로 프로그램을 개발하면서 단 한 번도 문제가 되지도 않았고 의문도 갖지 않았던 복사 관련한 글을 보게 되었습니다. 문서를 보면서 다른 언어에 존재하는 개념인 call-by-value나 call-by-reference를 자연스럽게 떠올렸습니다. 하지만 관련된 다른 문서를 확인할수록 제 생각이 잘못된 생각이라는 것을 깨닫게 되었습니다. 그리고 무엇보다도 파이썬 공식문서에는 그 어느 곳에서도 call-by-value나 call-by-reference를 언급하고 있지 않습니다. 즉, 파이썬에서는 call-by-value나 call-by-referece 개념이 없습니다. 다른 분들이 작성한 포스팅 글을 확인해 보니 얕은 복사와 깊은 복사..
IT/Python | 2019. 9. 19. 16:01
파이썬 문자열 포맷
파이썬 문자열 다루기 파이썬 문자열 포맷 방식 파이썬에서 문자열 포맷을 지정하는 방식은 3가지가 있습니다. 1. % 연산자 2. format() 메서드 3. 리터럴 문자열 'f' 첫 번째 % 연산자를 사용하는 것을 오래된 사용 방식 "구 방식"이라고 칭하기도 합니다. 필자가 파이썬 구 버전에서 즐겨 사용하던 포맷 방식입니다. 문자열이 길어지면 가독성이 떨어지는 단점이 있었지만 C언어의 방식과 비슷하여 애착이 가는 방식입니다. 파이썬 공식 문서에서 % 연산자를 권장하지 않는다고 표기하고 있습니다. 두 번째 format() 메서드는 구 방식을 개선하기 위해 파이썬 3 버전에서 새롭게 선보인 포맷 방식입니다. 하지만 이 방식 또한 % 연사자와 마찬가지로 문자열이 길어지면 가독성이 현저하게 떨어집니다. 세 번째..
IT/Python | 2019. 9. 18. 12:56
파이썬 파일 open
파이썬 파일 다루기 파이썬 open() 함수 변경 사항 Version 3.3 opener 매개 변수 추가 'x'모드 추가 IOError에서 OSError로 변경 'x' 모드로 open시 파일이 존재하면 FileExistsError 발생 Version 3.4 파일 상속 불가 'u'모드 사용 중지 / Version 4.0에서 제거 예정 Version 3.5 시스템 콜이 인터럽트 되고 시그널 처리가 에러를 발생시키지 않으면 open() 함수는 InterruptedError를 발생하는 대신 시스템 호출을 재시도 namereplace 오류 처리기 추가 Version 3.6 os.PathLike를 구현하는 객체를 지원 파이썬 open() 모드 모드 설명 r 읽기 전용 (Default) w 파일 덮어쓰기 x 독점 파..
IT/Python | 2019. 9. 16. 12:09
파이썬 Docstring / Annotation
파이썬 Docstring과 Annotation 파이썬 어노테이션 (Annotation) 파이썬 3에는 유형 힌트를 줄 수 있는 어노테이션이라는 개념을 제공합니다. 어노테이션을 사용하는 데 있어서 유의해야 할 사항은 총 3가지가 있습니다. 첫째, 어노테이션은 사용해도 되고 사용하지 않아도 되는 선택적입니다. 둘째, 격식이 없습니다. 어노테이션은 함수를 정의하는 데 있어 파라미터의 와 반환 값 유형의 힌트를 주는 역할을 합니다. def captain_bin_func(in_par:str="blog") -> str: return "Captain BIN " + in_par captain_bin_func라는 함수를 정의하는 간단한 예제 코드를 살펴보겠습니다. 함수 파라미터로 쓰이는 in_par변수에 :str 이 붙..
IT/Python | 2019. 9. 11. 22:43
파이썬 딕셔너리 입력 순서
파이썬 OrderedDict 애초에 이번 포스팅은 파이썬 딕셔너리 자료형에 데이터 입력 시 키 값 순서가 무작위로 생성되는 현상을 바로 잡을 수 있는 collections패키지의 OrderedDict를 활용하는 팁을 준비하려 했습니다. 딕셔너리 자료형의 특성을 고려한다면 키 값 입력 순서는 사실 크게 중요하지는 않습니다. 하지만 로직에 따라 이 순서 또한 중요한 역할을 할 때가 있습니다. 예를 들어 모듈을 실행하는데 딕셔너리 자료형에 설정값들이 세팅되어 있고 이 값들을 차례대로 적용해야 하는 경우가 발생하였을 때 입력 순서는 중요하게 작용할 것입니다. 이런 경우가 발생할까?라고 생각하실지도 모르겠지만 제가 실제로 이런 요구 사항이 있는 모듈을 작성했었습니다. 물론 순서를 보장할 수 없음을 먼저 인지하고 ..
IT/Python | 2019. 9. 5. 17:31
파이썬 2진수, 8진수, 16진수
파이썬 코드 작성 시 대부분 10진수 이외에 다른 진수를 다루는 일은 거의 없습니다. 하지만 때에 따라서 진수 변환을 해주어야 하는 경우가 종종 발생하기도 합니다. 그 한 가지 예로 다음 포스트에서 파이썬 자료형 저장 순서를 테스트해보려 하는데 진수를 사용할 예정이기 때문입니다. 그래서 테스트 글을 작성하기 전에 파이썬 진수에 대해 간단히 알아보겠습니다. 파이썬 진수 파이썬 진수 접두어 이 글을 읽고 계시는 분들은 진수에 대해 잘 알고 계신가요? 혹시나 하는 마음에 진수에 대해 말씀드리겠습니다. 컴퓨터는 기본적으로 2진수 체제로 0과 1로 신호체계로 운용되고 있습니다. 전기적 신호가 있으면 1 없으면 0 이런 식으로 말이지요. 이 0과 1의 정보가 32개가 모여 명령어 셋이나 자료 셋을 이루면 32비트 ..
IT/Python | 2019. 9. 5. 16:42
파이썬 pip
파이썬은 다른 프로그래머들이 작성한 패키지를 쉽게 설치할 수 있는 툴로 pip를 제공하고 있습니다. pip툴이 파이썬에 정식으로 포함되기 전에는 따로 설치를 해야만 했습니다. 하지만 파이썬 3.4 버전 이후부터는 파이썬 설치 시 같이 설치되도록 되었습니다. 파이썬을 설치하고 Path를 자동으로 등록하게 설치하셨다면 바로 커맨드 창에 가서 pip명령어를 수행하시면 간단한 사용방법이 출력되는 것을 확인할 수 있습니다. Python pip python pip upgrade 간혹 pip명령어를 사용하다 보면 다음과 같은 메시지가 출력되는 것을 확인할 수 있습니다. 참고로 단순히 명령어나 옵션이 없는 pip명령어 만으로는 업그레이드하라는 메시지가 출력되지 않습니다. 이 메시지는 문구 그대로 pip를 업그레이드하라..
IT/Python | 2019. 9. 4. 17:14