본문 바로가기

IT/파이썬 Python

Notepad ++ 에서 파이썬 파일 바로 실행하기 파이썬 소스파일을 만들 때 보통 Ultra Edit이나 Notepad++ 같은 텍스트 에디터를 사용합니다. 텍스트 에디터로 수정을 하면서 바로바로 실행을 해 보고 싶을 때가 있는데, 별도의 cmd창을 띄워 놓고 해도 되지만 가능하다면 에디터를 떠나지 않고 바로 실행하면 더 좋겠지요. 오늘은 Notepad++에서 파이썬 파일을 바로 실행하는 방법을 공유해 보겠습니다. 먼저, 윈도우에서 실행할 수 있는 배치 파일을 하나 생성합니다. 아래 파일의 파이썬 실행 파일 위치는 개개인의 환경에 따라 달라지므로, 본인의 PC환경에 맞추어 주시기 바랍니다. C:\Users\User\AppData\Local\Programs\Python\Python38-32\python.exe %1 @echo. @echo ====== en.. 더보기
파이썬에서 문자열이 특정 단어를 포함하는지 체크하는 방법 파이썬은 문자열을 다루기가 아주 편리한 언어입니다. 오늘은 파이썬에서, 문자열이 특정 단어 (혹은 단어들) 을 포함하는지 체크하는 방법을 알아 보겠습니다. 먼저, 하나의 단어가 특정 문자열에 포함되어 있는지 확인하는 방법입니다. >>> str="I am a boy >>> "boy" in str True >>> "girl" in str False 간단하죠? in 구문을 이용하면 특정 단어가 문자열에 포함되는지를 쉽게 알 수 있습니다. 이번에는, 여러 개의 단어 리스트 중에 하나 혹은 여러개의 단어가 특정 문자열에 포함되어 있는지를 확인하는 방법입니다. >>> str="one two three" >>> keywords=["one", "two", "four"] >>> any(keyword in str for .. 더보기
파이썬의 게터/세터 사용법 (@property) 자바 공부를 하신 분이라면 클래스 변수의 게터/세터 메소드 사용에 친숙할 것 같은데요, 파이썬은 더 직관적인 방법으로 게터/세터 사용을 지원합니다. property는 영어로 속성이라는 뜻인데, 파이썬에서는 @property라는 키워드를 이용해서 클래스 변수를 속성으로 선언하고 하나의 메소드를 통해서 쉽게 get / set 할 수 있습니다. class Human: def __init__(self): self.__age = 0 self.__gender = 'M' @property def age(self): return self.__age @age.setter def age(self, value): self.__age = value @property def gender(self): return self.__g.. 더보기
파이썬으로 웹 데이터 가져오기 (Space X 예제) 오늘은 파이썬의 다양한 활용법 중 API를 통한 웹 데이터 가져오기를 설명해 보겠습니다. 코드는 아래와 같습니다. import json import requests from urllib.parse import urljoin class SpaceXData(object): def __init__(self, host='https://api.spacexdata.com', version='v3'): """ Instantiate a new API client. Args: host (str): Hostname of the factomd instance. version (str): API version to use. This should remain 'v2'. """ self.version = version self... 더보기
한 장으로 요약한 파이썬 3 요새도 이런 말을 쓰는 지 모르겠지만 예전에 시험에서 몰래 보기 위해 미리 써놓는 종이를 커닝 페이퍼라고 했습니다. 커닝 페이퍼를 영어로는 Cheat Sheet 라고 하는데요, 한두장의 종이에 중요 정보를 적어 두었다가 필요할 때 참고하는 문서를 cheat sheet라고도 합니다. 파이썬을 자주 쓰는 사람이 아니라면 한번 쯤은 오래간만에 스크립트를 작성할 때 아주 기본적인 규칙도 헷갈릴 때가 있지 않을까 해요. 저도 그래서 인터넷을 찾아봤더니 아주 잘 정리된 Python3 cheat sheet가 있어서 공유해 봅니다. 다운로드: 원본 위치: https://perso.limsi.fr/pointal/_media/python:cours:mementopython3-english.pdf 컬러로 양면 프린트 후 코.. 더보기
[파이썬] 윈도우 파이썬 스크립트로 리눅스/유닉스 파일 쓰기 실무 환경에서, 가끔씩 윈도우 서버에서 Python script를 통해 리눅스 / 유닉스 서버에서 사용할 파일을 생성해야 할 때가 있습니다. 알고 계시겠지만 OS에 따라서 행바꿈 (개행) 을 나타내는 특수문자 (데이터 바이트) 가 다릅니다. DOS & Windows: \r\n 0D0A (hex), 13,10 (decimal) Unix & Mac OS X: \n, 0A, 10 Macintosh (OS 9): \r, 0D, 13 저는 맥 환경을 사용하지는 않기 때문에 주로 윈도우와 리눅스 환경에서의 변환이 필요한데요, 윈도우 파이썬에서 파일을 쓰면 "\n" 을 입력해도 파이썬이 자동으로 "\r\n" 으로 변환을 시켜 버립니다. 아마도 코드를 변경할 필요 없이 윈도우 / 리눅스 모두에서 바로 사용할 수 있도록.. 더보기
[파이썬] if __name__ == '__main__': 이 코드는 왜 (거의)모든 파이썬 소스에 있을까요 이번 포스트에서는 오래간만에 파이썬 코드에 대해 적어볼까 합니다. 언제나 그렇듯이 전문 프로그래머가 아닌 초보자 입장에서의 글인 점을 감안해 주시기 바랍니다. ^^ 파이썬 소스 코드를 보면, 다음과 같은 형식으로 구성된 경우가 많은 것을 볼 수 있습니다. import sys def multiple2(num): return num*2 def plus2(num): return num+2 def main(): num1=sys.argv[1] num2=sys.argv[2] result = multiple2(num1)+plus2(num2) print (result) exit(0) if __name__ == '__main__': main() 하지만 아래 처럼 작성해도 전혀 문제 없이 실행되지요?import sys d.. 더보기
[파이썬] ISIN 코드 (표준코드) 체크 디지트 (검사숫자) 계산함수 주식이나 파생상품 등 거래소에서 거래되는 상품 (혹은 거래되지 않더라도 코드가 필요한 상품) 에는 모두 ISIN코드가 부여됩니다. 한국거래소에서도 ISIN코드를 부여 하는데요, ISIN코드는 11자리의 정보 + 1자리 체크 디지트로 구성됩니다. 체크 디지트는 12자리 ISIN코드가 정상적인 코드인지 정합성을 확인하기 위한 코드입니다. 오늘은 ISIN코드 중 11자리를 입력하면, 나머지 체크 디지트 1자리를 계산하는 파이썬 코드를 공유해 봅니다. def calc_checkdigit(isin): """Calculate and return the check digit""" #Convert alpha characters to digits isin2 = [] for char in isin: if char.isal.. 더보기