본문 바로가기
반응형

파이썬171

Python 인터프리터 vs 컴파일러 / Is Python interpreted or compiled? Yes 번역 Python이 인터프리터 언어냐 컴파일 언어냐는 질문은 자주 등장하지만 이에 대해 쉽게 답을 내릴 수 없습니다. 세상은 생각보다 복잡하기 때문입니다. 컴파일(compile) 한다는 것은 우리가 작성한 소스코드를 컴퓨터가 실제로 실행할 수 있는 binary 코드로 바꾼다는 의미입니다. (CPU 명령어) 예를 들어 C언어로 만든 코드를 실행할 때는 컴파일 작업이 필요합니다. 반대로 인터프리트(interpreted)의 의미는 우리가 만든 소스코드를 한줄 한줄 해석해 실행하는 것을 말합니다. 우리가 흔히 프로그래밍 언어를 인터프리터/컴파일러 두가지로 구분하려고 하지만 단순히 그렇게 나누기에는 너무 제한적입니다. 보통 컴파일한다는 것은 인간에게 친숙한 high level language 소스를 기계어로 바꿔준다고.. 2020. 4. 20.
Python if __name__ == '__main__': 에 대한 이해 / Python __name__ Python 관련 책이나 코드를 보면 이런 코드를 종종 볼 수 있습니다. if __name__ == '__main__': 이번 포스팅에서는 이 코드의 의미가 무엇이고 왜 있어야 하는지 알아 보겠습니다. 간단하게 코드로 예를 들어 하나씩 정리해보면 먼저 Python 모듈을 실행하면 아무것도 안해줘도 __name__에 __main__이라는 값이 들어갑니다. pizza.py print('pizza1') print('__name__ ', __name__) print('pizza2') 실행하면 다음과 같은 결과가 나옵니다. pizza1 __name__ __main__ pizza2 그럼 다른 모듈에서 import를 통해 pizza.py를 가져오면 __name__에는 뭐가 들어갈까요? 이번에는 chief라는 모듈을 .. 2020. 4. 18.
Python namespace에 대한 이해 / Python 네임스페이스 Python namespace란 무엇이고 왜 필요할까? 1. Python name? Python에는 모든 것이 객체로 표현되지만 이 객체들 데이터 타입으로 나눠보면 문자, 숫자, 불리언(Boolean), 리스트 등이 있습니다. 이 모든 것들에 대해 이름을 지어줄 수 있습니다. 예를 들면 아래처럼 문자, 숫자, 불리언, 리스트를 각각 my_string, my_number, my_boolean, my_list처럼 명명할 수 있습니다. my_string = 'spam and eggs' my_number = 42 my_boolean = True my_list = ['spam', 'eggs'] 마찬가지로 지난글(2020/04/09 - [Python/Basic] - Python First Class Function.. 2020. 4. 15.
Python Upbit API / JWT: 'module' object has no attribute 'encode' Python, Upbit 패키지를 사용하다 보면 아래 같은 에러를 볼 수가 있다. (없을 수도 있다.) JWT: 'module' object has no attribute 'encode' 아, jwt가 없구나 싶어서 바로 아래 명령어처럼 jwt를 설치하고 나서도 같은 문제가 있다. pip install jwt 원인은 jwt랑 PyJWT라는 패키지가 있는데 Upbit 패키지에서는 PyJWT를 사용하기 때문에 발생하는 문제 jwt랑 PyJWT가 둘 다 있다면 jwt를 지우고 둘 다 없다면 PyJWT를 설치함으로써 문제 해결 pip install PyJWT 2020. 4. 12.
Python 파일 백그라운드 작업 nohup, & / Linux 파일 백그라운드 동작시키기 리눅스/유닉스 환경에서 Python 파일을 하루종일 동작시키고 싶은데 실제 PC는 Window이고 해당 소스가 Cloud에 올라가 있어 터미널을 이용해 접속해야한다고 해보겠습니다. 이럴 경우 터미널을 계속 켜놓고 있으면 Cloud에서 동작시키는 의미가 얕아집니다. 이런 상황을 피하기 위해 한번 실행시키고 터미널 연결이 끊어져도 계속 파일을 수행시키는 백그라운드 작업을 실행시키는 nohup에 대해 알아보겠습니다. (Javascript 파일 실행에는 foreverjs나 pm2가 같이 훌륭한 관리 도구가 있는데 Python은 있나 제가 잘 모르겠네요.) 1.준비물 nohup 명령어를 통해 백그라운드 실행을 시킬 파일은 755 권한이 필요합니다. chmod 755 main.py 2. nohup과 & nohup을.. 2020. 4. 12.
반응형