본문 바로가기

Python55

[Python] 리스트(배열) 문자열로 변환하기 (Python list to string) 문자열 데이터를 다루는 알고리즘을 파이썬으로 작성할 때, 문자열을 이루고 있는 문자들을 배열로 만들어 처리한 다음 다시 문자열로 만드는 동작을 자주사용하게 된다. 일반적으로 문자열의 문자들을 스택이나 큐 등의 자료구조에 넣었다가 빼는 동작을 하고 다시 문자열로 합치는 동작이다. 파이썬에서 리스트에 있는 모든 요소들을 하나의 문자열로 변환하는 방법을 정리해보겠다. 반복문 가장 간단한 방법은 리스트에 포함되어 있는 엘리먼트들을 순회하면서 결과 문자열에 붙여나가는 것이다. str_list = ['Convert', 'list', 'into', 'string'] result = "" for word in str_list: result += word + " " print(result) # Convert list i.. 2021. 5. 9.
[Python] 파이참(PyCharm) 프로젝트 깃허브(Github)에 연동하기 이전 포스트에서 파이썬3와 파이참을 설치해서 파이썬 개발환경을 구축해봤다. (관련자료 : [Python] macOS에 파이썬 개발환경 설치 - 파이썬 설치 및 파이참(PyCharm) 설치) 파이참으로 작성한 소스코드를 깃허브(Github)에 푸쉬해서 저장한다면 좀 더 편하고 안전하게 작성한 코드를 보관할 수 있다. 파이참은 프로젝트 파일을 커밋하고 깃허브 저장소에 푸쉬할 수 있는 기능을 제공한다. 깃허브 계정 및 저장소 생성 우선 파이참 프로젝트를 저장할 깃허브 저장소를 생성해야한다. 깃허브 계정이 없다면 계정생성부터해야한다. GitHub - 세계가 소프트웨어를 빌드하는 곳 GitHub is where over 65 million developers shape the future of software, .. 2021. 5. 9.
[Python] macOS에 파이썬 개발환경 설치 - 파이썬 설치 및 파이참(PyCharm) 설치 맥북이나 아이맥 등 macOS 운영체제에 파이썬 개발환경을 설치해보자. macOS에는 파이썬 2.x 버전이 기본적으로 설치되어 있다. 맥에 설치되어 있는 파이썬 버전을 확인하려면 터미널을 열고 다음 명령을 실행해보면 된다. python -v 확인해보니 현재 맥북에는 2.7.16 버전이 설치되어 있다. 만약 파이썬 2.x 버전을 사용하고자한다면 그대로 쓰면된다. 하지만 파이썬 3를 사용하려면 별도로 파이썬 3.x 버전을 설치해야한다. 참고로 파이썬 2.7 버전의 사용은 피하는 것을 권장하고 있다. macOS에서 파이썬 2.7 버전을 사용하면 다음 경고 메시지를 볼 수 있다. WARNING: Python 2.7 is not recommended. This version is included in macOS .. 2021. 5. 8.
[Python] TypeError: 'NoneType' object is not iterable 오류 원인과 해결 방법 파이썬 프로그래밍을 하다보면 겪는 어려움 중에 타입(Type)과 관련된 에러가 있다. 컴파일 언어의 경우 소스코드를 작성할 때, IDE에서 대부분의 잠재적인 타입 에러를 잡아주기 때문에 깊이 생각하지 않아도 되는 문제들이 파이썬 같은 동적 언어에서는 문제가 될 수 있다. IDE에서는 문제가 없었지만 런타임에 에러를 발생시키는 경우가 종종있다. 그 중에 하나가 'TypeError: 'NoneType' object is not iterable'에러다. 파이썬에서 반복문에 사용할 객체를 얻어오는 과정에서 발생하는 에러다. 다음 파이썬 코드를 보자. def function1(param1): if param1 == 1: return "abc" elif param2 == 2: return "def" elif par.. 2021. 5. 8.
[Python] 파이참 'Unresolved reference xxx' 에러 해결 방법 파이썬 통합개발환경(IDE)인 파이참(PyCharm)을 이용해서 파이썬 소스코드를 편집하고 있는데 이상한 에러를 만나게 되었다. 사용하는 모듈에 빨간색 줄이 가더니 'Unresolved reference xxx' 에러가 발생했다. 실행환경에 문제는 없어보이는데 이상했다. 대략 다음과 같은 모습이었다. 분명 같은 디렉토리에 Mudule1이라는 파이썬 파일이 존재한다. 그리고 autocomplete 파일에서 이 파일을 불러서 쓰려고 했는데, 같은 디렉토리에 있는 파이썬 파일을 불러올 수 없었다. 이상한 일이다. 해결방법 이 경우 디렉토리를 파이썬 프로젝트의 '소스루트(Sources Root)'로 지정해주면 된다. 프로젝트 디렉토리 창의 src 디렉토리를 우클릭하면 여러 메뉴가 뜬다. 그 메뉴 중에 'Mark.. 2021. 5. 8.
[Python] 날짜 포맷(Date format) 데이터 파싱하기 파이썬의 자료형들 이외에 가장 많이 사용되는 데이터 패턴이 바로 문자열 형태로 표현된 날짜 데이터일 것이다. 문자열 형태로 표현되어 있는 날짜 데이터를 파싱해서 사용하는 경우가 매우 빈번하다. 파이썬에서는 'datetime' 라이브러리를 이용해서 문자열 형태로 표현되어 있는 날짜 포맷 데이터를 파싱할 수 있다. import datetime date_string = '20191101' date_format = '%Y%m%d' try: date_obj = datetime.datetime.strptime(date_string, date_format) print(date_obj) except ValueError: print("Incorrect data format, should be YYYYMMDD") 날짜 데.. 2021. 5. 7.
[Python] '#!/bin/usr/env python' - 셔뱅(Shebang)을 이용한 버전 선택 파이썬으로 개발을 하게되면 버전 문제가 발생한다. 파이썬 2.x 버전과 3.x 버전 사이에 약간의 호환성 문제와 문법 문제가 있어서 어떤 버전의 파이썬에서 프로그램을 실행할지가 중요하다. 문제는 파이썬 스크립트를 실행할 사용자 환경에 어떤 버전이 설치되어 있을지 모른다는 것이다. 파이썬 3.x 기준으로 작성된 스크립트를 사용자 환경에서 파이썬 2.x 인터프리터가 실행하면 오류가 발생할 수 있다. 이럴 때 파이썬 스크립트에 '셔뱅(Shebang)'을 이용해서 사용할 인터프리터의 경로를 지정할 수 있다. 셔뱅(Shebang) 리눅스에서 실행되는 스크립트 파일의 첫 번째 줄에는 '#!'로 시작하는 코드가 있다. Bash 스크립트나 파이썬 스크립트에서 자주 찾아볼 수 있다. 이 코드를 '셔뱅(Shebang)'이.. 2021. 5. 7.
[Python] 파이썬 주석(Comment) 다는 방법 프로그래밍에서 소스코드에 주석을 추가하는 작업은 매우 중요하다. 복잡한 로직에 대한 간단한 설명을 추가하는데 사용할 수도 있고, 소스코드에서 특정 라인들의 동작을 배제할 때 '주석처리(Comment-out)'하기도 한다. 개발 중이나 디버깅 시 아마도 여러 라인의 소스코드를 잠깐 동안 주석처리하는 동작을 많이 사용하게 될 것이다. 자바나 C언어에서는 /* 사인과 */ 사인 사이에 있는 모든 문자들을 주석처리한다. 이렇게 주석처리 된 소스코드는 컴파일러가 바이트 코드 혹은 바이너리에 포함시키지 않는다. 파이썬 한줄 주석 파이썬은 # 문자를 이용해서 주석처리를 한다. 보통은 # 문자를 쓰고 한칸 띄운 다음 주석 내용을 작성한다. # print('이건 주석') print('이건 주석이 아님') # 문자의 위치.. 2021. 5. 7.
[Python] 'SyntaxError: Non-ASCII character ... ' 한글 인코딩 에러 해결 방법 파이썬 소스코드에 한글 주석을 사용하게 될 경우 인코딩 관련된 에러메시지('SyntaxError: Non-ASCII character')를 만나게 되는 경우가 있다. 예를 들어 다음 에러를 만나게 된다. SyntaxError: Non-ASCII character '\xec' in file /Users/user/workspace/test/test.py on line 123, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details ASCII 코드가 아닌 문자가 파이썬 소스코드에 있어서 실행할 수 없다는 의미의 에러 메시지다. '\xec'라는 알 수 없는 바이트가 등장해서 파이썬 인터프리터가 당황한 것이다. 이 문제의 해결 .. 2021. 5. 6.