본문 바로가기
728x90
반응형

Programming137

파이썬 타입 힌트 알아보기 다들 알고 있는 것처럼, 파이썬은 동적 타입 언어이다. 이 것은 변수의 타입을 지정하지 않고, 모든 타입의 데이터를 넣을 수 있다는 말이다. 반면에 Java 와 같은 정적 타입 언어는 변수 선언시에 타입을 반드시 지정하고 해당 타입의 데이터만 넣을 수 있는데, 만약, 다른 타입의 데이터를 넣게 되면, IDE 등에서 에러표시를 해줄 것이며, 컴파일할 때에도 에러를 뿜어내고 컴파일 실패하게 된다.public class Hello { public static void main(String[] args) { int num; // num = 10; num = "Hello Java"; System.out.println(num); }} 반면에, 파이썬은 다.. 2024. 11. 5.
[ ... for ... if ... ] 파이썬 리스트 내포 구문 (List comprehension) 리스트 내포 (list comprehension) 은 짧은 코드로 원하는 리스트를 만들어주는 문법이다. 잘~ 사용하면 유용하긴 한데, 이해가 안되면 오히려 가독성이 떨어지는 문제가 있다. 팀원들의 이해도에 맞추어서 적절하게 사용하길 바란다. 첫번째 경우를 살펴보도록 하자.# result = [10, 20, 30, 40, 50]result = []for i in range(1, 5+1): result.append(i*10)print(result)result = [i*10 for i range(1, 5+1)]print(result)이제, 조건을 넣어보자.# result = [20, 40]result = []for i in range(1, 5+1): if i % 2 == 0: resul.. 2024. 11. 1.
.py(파이썬파일)을 .exe(실행파일)로 변환하기 (feat. PyInstaller) 파이썬으로 만든 프로그램을 다른 사람에게 전달해서 실행을 하려면, 그 사람의 PC에도 파이썬이 설치되어 있어야 하는 번거러움이 있다. 이 때문에, 파이썬 프로그램을 일반 실행파일(.exe)로 변환해서 건네주면 사용하는데 큰 문제가 없을 것이다. 파이썬 패키지에는 이런 변환 프로그램이 있는데, 바로 PyInstaller 이다. pip install pyinstaller 를 입력하면 설치가 되서 바로 사용할 수 있다. 첫 번째 프로그램을 만들어보자. 필자는 C:\work\proj1 폴더를 만들 것이며, 이 안에 .venv 로 가상환경도 만든다. 가상환경은 python -m venv .venv 로 만들 수 있다. 그리고, .venv\Scripts\activate 로 가상환경을 활성화 한 후에, pip inst.. 2024. 9. 21.
venv : 파이썬 가상환경 관리하기 nodejs 를 공부해보신 분들은 알겠지만, npm 을 이용해서 필요한 패키지를 설치하면 해당 프로젝트 안에 node_modules 라는 폴더가 생성되는 것을 알 수 있다. 이 아래에 모든 패키지들이 설치된다. 이렇게 되면, 여러개의 프로젝트를 관리할때 프로젝트마다 각기 다른 폴더에 패키지들이 설치되어 서로 충돌이 발생하지 않는다. 물론 필요하면 특정 패키지에 대해서는 옵션을 주어서 전역으로도 설치가 가능하다. 그런데, 파이썬의 경우, 패키지가 기본적으로 전역으로 설치되어, 모든 프로젝트에서 함께 쓰이도록 되어 있다. 프로젝트에 별도로 패키지가 설치되도록 하는 옵션이 없다. 이 때문에, 프로젝트간에 패키지의 버전을 다르게 쓰고자 할 때 문제가 발생한다. 이런 문제를 해결하고자, 임시 방편으로 가상환경이라.. 2024. 9. 19.
Java 18 이상에서 한글 문제 참고 :https://openjdk.org/jeps/400https://stackoverflow.com/questions/71685543/java-jdk-18-in-intellij-prints-question-mark-when-i-tried-to-print-unicode-l https://docs.gradle.org/current/userguide/build_environment.html Java 18 이상으로 컴파일해서 실행하면, 콘솔에서 한글이 깨지는 문제점이 발생한다. Java 18 이 되면서 Java API 의 기본 인코딩이 UTF-16에서 UTF-8 로 바뀌었다.그런데, Console I/O 관련 API는 제외되었다고 한다.이 것이 원인인가??? 이상하다.윈도우 커맨드창에서 chcp 65001 .. 2024. 9. 19.
Python 3.13의 REPL이 아주 좋아졌어요. 굿굿~! 다가오는 10월에 파이썬 3.13 이 릴리즈 될 예정인데, 여러가지 특징이 있지만, 그 중에서도 눈에 바로 보이는 것이, REPL 에 색깔이 더해져서 컬러풀해지고 멀티라인 에디팅이 된다는 것이다. python 으로 인터렉티브 모드로 들어가면, 프롬프트에 색깔을 입혀져있다.  기존에는 REPL 을 빠져나갈때에서 exit() 라는 함수를 입력해주어야 하는데, 마지막 괄호까지 입력하는 것이 좀 불편하였는데, 이 것이 사라졌다. 그냥, exit 라고만 입력해도 된다.  화면을 깔끔하게 지우는것(클리어)가 가능해졌다.   자동 들여쓰기가 지원된다. BLOCK 수준의 코드 기록이 된다. 멀티라인 에티팅이 가능해졌다. 이 때문에, 소스를 수정해서 작업할 때, 아주 아주 용이하다. 이 기능이 없으면, 수정을 할 수 없.. 2024. 9. 13.
728x90
반응형