본문 바로가기
반응형

파이썬9

구글 드라이브에서 파이썬 코딩하기 - 'Colaboratory' 간단한 스크립트 스타일의 프로그램을 작성하기에 '파이썬'만한 프로그래밍언어도 드문것 같습니다. 파이썬 프로그래밍은 IDE 없이 웹에서도 쉽게 작성할 수 있는 환경이 갖춰져 있는데요. 구글이 제공하는 클라우드 저장 공간인 '구글 드라이브'의 'Colaboratory' 앱을 이용하면 구글 드라이브에서 파이썬 프로그래밍을 할 수 있습니다. Colaboratory Colaboratory는 구글 리서치 팀에서 개발한 제품으로 브라우저를 통해 파이썬 코드를 작성하고 실행할 수 있는 개발환경입니다. 머신러닝이나 데이터 분석에 대한 교육 및 실무 작업에서 다양한 사람들과 코드를 공유하고 실행할 수 있는 환경을 제공해줍니다. Colab은 설정 없이도 사용 가능한 호스팅 주피터(Jupyter) 메모장 서비스로 GPU를 포.. 2020. 7. 26.
[파이썬] 리스트(배열)를 문자열로 변환 (Python list to string) 파이썬으로 간단한 알고리즘 문제를 풀다가 문자열을 이루고 있는 각 문자들을 배열로 다룰 필요가 있었습니다. 문자열과 문자 리스트의 상호 변환은 알고리즘 문제 풀이에서 자주 만나게 되는 사용패턴인데요. 스택(Stack)이나 큐(Queue) 같은 자료 구조에 문자열을 이루고 있는 문자들을 넣었다가 빼는 동작을 하고 다시 문자열로 만드는 동작이 필요했습니다. 파이썬의 문자열 타입은 'join(list)' 메서드를 제공하고 있습니다. 'join()' 메서드를 이용하면 리스트를 구성하고 있는 각각의 문자들을 하나의 문자열 형태로 변경해서 반환해줍니다. 다음 예제 코드를 살펴보겠습니다. str_list = ['H', 'E', 'L', 'L', 'O', ' ', 'W', 'O', 'R', 'L', 'D'] print.. 2020. 3. 14.
[파이썬] TypeError: 'NoneType' object is not iterable 오류 파이썬 프로그램을 작성하다가 가끔씩 타입 관련된 에러메시지를 만나곤 합니다. 그 중 하나가 `TypeError: 'NoneType' object is not iterable` 에러입니다. 객체가 iterable 하지 않다는 에러입니다. 이 에러를 재현할 수 있는 파이썬 코드는 다음과 같습니다. def function1(param1): if param1 == 1: return "abc" elif param2 == 2: return "def" elif param2 == 3: return "ghi" value = 1 for char in function1(value): print(char) 이 코드를 실행하면 a b c 이런 실행 결과를 얻게 됩니다. value 변수의 값을 1, 2, 3이 아닌 값으로 지정한.. 2020. 3. 14.
[파이썬] 문자열에서 Date Format 파싱 - datetime 문자열로 표현된 날짜 데이터를 다뤄야 할 경우가 있습니다. 문자열을 파싱해서 Date 객체로 만드는 방법에 대해서 알아보겠습니다. 파이썬에서는 'datetime' 라이브러리를 제공하고 있습니다. 'datetime' 라이브러리를 이용하면 문자열을 파싱하여 날짜 포맷에 맞는지 확인하고 해당하는 날짜 객체를 가져올 수 있습니다. 'datetime'을 이용한 예제 코드는 다음과 같습니다. import datetime date_string = '20191101' date_format = '%Y%m%d' try: date_obj = datetime.datetime.strptime(date_string, date_format) print(date.. 2020. 3. 11.
'#!/bin/usr/env python' - 셔뱅(Shebang)을 이용하여 파이썬 버전 설정 파이썬 스크립트를 작성하면서 실행할 파이썬 버전을 '셔뱅(Shebang)'을 이용해 설정할 수 있습니다. 셔뱅(Shebang) 리눅스 환경에서 커맨드라인 스크립트를 작성할 때, 첫 번째 줄이 '#!'로 시작하는 라인이 들어갑니다. 이 부분을 '셔뱅(Shebang)'이라고 합니다. 스크립트 명령을 실행할 인터프리터의 경로를 명시하는 역할을 하는데요. 셔뱅은 'Sharp(#)' + 'Bang(!)'의 합성어라고 합니다. '샤-뱅', '해시뱅', '파운드-뱅', '해시-플링', '크런치뱅' 등으로 불리기도 합니다. (링크 : 셔뱅 - 위키피디아) 셔뱅인 '#!'라는 매직 바이트를 시작으로 바로 뒤에 인터프리터의 경로가 나옵니다. #!interpreter [optional-arg] 그 이후로 인터프리터를 실행할.. 2020. 3. 10.
[파이썬] 주석 처리(Comment) - 여러줄 주석처리하기 JAVA나 C언어에서는 함수나 메소드 전체를 코드에서 잠시 배제시킬 때 '/*' 와 '*/' 를 이용합니다. 두 문자 사이에 있는 내용은 컴파일러가 바이트 코드나 바이너리에 포함시키기 않죠. 디버깅을 하면서 빠르게 코드를 수정했다가 다시 살릴 때 쓰기 좋습니다. 파이썬의 멀티라인 주석 파이썬에서는 기본적으로 '#' 문자를 이용한 주석처리밖에 없습니다. 따라서 멀티 라인을 주석처리하기 위해서는 여러 라인의 맨 앞에 '#' 문자를 집어 넣는 작업을 해줘야 합니다. 대부분은 통합개발환경(IDE)에서 기능을 제공해줍니다. 파이썬을 만든 '귀도 반 로썸(Guido van Rossum)'은 자신의 트위터를 통해 멀티라인 문자열(multi-line string)을 이용해 멀티라인 주석처리를 하는 팁을 알려줬습니다. .. 2020. 3. 10.
[파이썬] 3항 연산자 문법 Java 혹은 C 언어로 프로그래밍을 하신 분들은 3항 연산자의 장점을 잘 아실겁니다. 3항 연산자를 이용하면 if - else 로 길게 써야하는 조건들을 간단하게 한줄로 쓸 수 있어 코드가 간략해집니다. JAVA 혹은 C 언어에서 3항 연산자는 다음과 같은 형태였습니다. variable = condition ? result1 : result2; 동일한 코드를 풀어쓰면 if (condition) { variable = result1; } else { variable = result2; } 다소 길어집니다. 파이썬 3항 연산자 파이썬은 2.5 버전부터 3항 연산자 문법이 적용되었습니다. 이와 관련된 자세한 내용은 PEP-308 문서:Conditional Expression을 참고하면 됩니다. 파이썬에서의 .. 2020. 3. 10.
[파이썬] '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에러 메시지를 해석하면 'Non-ASCII' 문자가 파이썬 스크립트에 존재하고 있어 스크립트를 실행할 수 없다는 뜻입니다. 소스코드를 보니 한글 주석을 남겨놓은 것이 문제가 된 것 같습니다. 구글링을 해보니 문제의 해결 방법은 매우 간단합니다. 파이썬 스크립트 파일의 첫 부분에 한글을 지원하는 인코딩을 넣.. 2020. 3. 9.
파이썬 'NameError: name 'input' is not defined' 에러 (raw_input과 input 차이) 사용자로부터 입력을 받는 파이썬 프로그램을 작성할 때, 다음 에러를 만나게 될 때가 있다. NameError: name 'input' is not defined 간단한 파이썬 프로그램 하나를 실행해보자. input_value = input("Please input your value :") print(input_value) 사용자로부터 입력을 받아 그대로 화면에 출력해주는 프로그램이다. 이 코드를 실행했을 때, 다음 화면처럼 'NameError' 메시지를 만나게 되는 경우가 있다. 'NameError: name 'a' is not defined' 라는 에러메시지가 발생하면서 생각한대로 코드가 동작하지 않는다. 이런 에러의 원인은 Python 2.x 버전에서 발생한다. 같은 코드를 Python 3.x 버전.. 2020. 2. 15.
반응형