본문 바로가기

Python58

[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.
[Python] 3항 연산자 문법 사용 예제 자바나 C언어 등 메이저 프로그래밍 언어에서는 '3항 연산자'를 제공한다. 3항 연산자를 이용하면 불필요한 if - else 구조를 간단하게 한줄로 줄일 수 있어 코드의 양을 줄일 수 있다. 자바나 C언어에서 3항 연산자는 다음과 같은 문법으로 사용한다. variable = condition ? result1 : result2 같은 로직을 3항 연산자를 사용하지 않고 작성하면 다음 코드처럼 작성할 수 있다. if (condition) variable = result1; else variable = result2; 한줄로 단축해서 쓰는 것이 더 깔끔하고 간략해 보인다. (뭐 사람과 조직마다 풀어서 쓰는 것을 선호하는 경우도 있고, 3항 연산자를 선호하는 경우도 있다. 코딩 컨벤션에 따라 잘 사용하는 것이 .. 2021. 5. 6.