python 가상환경 만들기
Q. 가상환경을 사용하는 이유??
- 라이브러리 버전 충돌 방지 (가장 중요한 이유)
- 가상환경이 없을 때: 시스템 전체에 설치된 파이썬 환경에 라이브러리를 설치하면, 한 라이브러리가 다른 프로젝트에 필요한 버전을 덮어쓰게 되어 프로젝트 B를 실행할 때 프로젝트 A가 깨지는 현상이 발생합니다.
- 가상환경을 사용할 때: 각 프로젝트별로 독립적인 폴더에 라이브러리를 설치하므로, 서로 다른 버전을 사용해도 아무런 충돌이 일어나지 않습니다.
- 깔끔한 시스템 유지(가상환경을 사용하지 않으면 모든 라이브러리가 컴퓨터의 기본(Global) 파이썬 경로에 설치됩니다.)
- 어떤 프로젝트에서 어떤 라이브러리를 쓰는지 관리가 되지 않습니다.
- 나중에 불필요한 라이브러리를 삭제하고 싶어도, 어떤 프로젝트에 필요한 것인지 알 수 없어 삭제하기가 두렵습니다.
- 가상환경은 프로젝트가 끝나면 폴더만 삭제하는 것으로 깔끔하게 라이브러리 정리가 가능합니다.
- 프로젝트 의존성 관리의 유용성(협업을 하거나 다른 컴퓨터로 소스 코드를 옮길 때 가상환경은 매우 유용합니다. )
- 현재 프로젝트에서 어떤 라이브러리들을 사용 중인지 requirements.txt와 같은 파일로 명확하게 기록할 수 있습니다.
- 다른 개발자는 이 파일 하나만 있으면 해당 프로젝트와 동일한 환경을 즉시 구축할 수 있습니다.
1. 가상환경 생성 (명령 프롬프트-cmd)
python -m venv venv
2. 가상환경 활성화 성공시 CMD 창 앞에 (venv)가 표시됩니다.
venv\Scripts\activate
성공시 CMD 창 앞에 (venv)가 표시됩니다.
3. 가상환경 비활성화(종료)
deactivate
python 기본 문법
1. 기본 출력 (print)
파이썬의 print() 함수는 데이터를 화면에 출력합니다.
- 여러 데이터 출력: 콤마(,)를 사용하여 여러 값을 이어 출력합니다.
- sep 옵션: 출력되는 값들 사이의 구분자를 지정합니다. 기본값은 공백(" ")입니다.
- end 옵션: 출력 마지막에 붙일 문자를 지정합니다. 기본값은 줄바꿈(\n)입니다.
- 이스케이프 문자: \n(줄바꿈), \t(탭) 등을 활용해 출력 형식을 제어합니다.
- 여러 줄 출력: """ """를 사용하면 줄바꿈을 포함한 긴 문자열을 그대로 출력할 수 있습니다.
2. 자료형 (Data Types)
데이터의 형태에 따라 연산 방식이 달라집니다.
- 형 변환:
- int(): 정수형으로 변환
- float(): 실수형으로 변환
- str(): 문자열로 변환
- 기타: round() 함수를 사용해 반올림 처리가 가능합니다.
3. 변수 (Variables)
- 다중 할당: a = b = c = 5와 같이 여러 변수에 동일한 값을 한 번에 할당할 수 있습니다.
- 언팩킹 (Unpacking): a, b, c = (1, 2, 3)처럼 튜플이나 리스트의 값을 개별 변수에 분할하여 할당할 수 있습니다.
4. 문자열 조작 (String Methods)
문자열은 다양한 메서드를 통해 가공할 수 있습니다.
- 슬라이싱 ([start:end:step]): 문자열의 일부분을 추출합니다.
- 길이 및 개수: len(text)(길이), text.count("문자")(특정 문자 개수)
- 검색: find()(위치 반환, 없으면 -1), index()(위치 반환, 없으면 에러)
- 치환 및 결합: replace()(문자열 바꾸기), split()(문자열 나누기), join()(문자열 합치기)
- 정리: strip()(양쪽 공백 제거), rstrip()(오른쪽 공백 제거)
5. 연산자
- 산술 연산: +, -, *, /(나누기), //(몫), %(나머지), **(거듭제곱)
- 대입 연산: +=, -=, *=, /=, **= 등 복합 대입 연산자를 사용해 코드를 간결하게 만듭니다.
- 멤버십 연산: in 키워드를 사용해 특정 문자가 문자열 안에 포함되어 있는지(True/False) 확인합니다.
6. 문자열 포맷팅 (String Formatting)
데이터를 깔끔하게 출력하기 위해 사용합니다.
- % 연산자 방식
- %d(정수), %f(실수), %s(문자열)를 사용하여 대입합니다.
- %10s (10자리 확보), %-10s (왼쪽 정렬), %.2f (소수점 2자리까지) 등으로 정밀 제어가 가능합니다.
- format() 함수 방식
- "{}님은 {}살입니다".format(이름, 나이) 처럼 중괄호를 사용합니다.
- {:<10}(왼쪽 정렬), {:>10}(오른쪽 정렬), {:^10}(가운데 정렬) 등 정렬 옵션을 제공합니다.
- {:,.2f}처럼 천 단위 콤마(,)를 넣거나 소수점 자릿수를 지정할 수 있어 금액 표기 등에 매우 유용합니다.
- f-string() 방식
- 가독성: 변수를 문자열 중간에 직접 삽입하기 때문에 코드가 훨씬 직관적입니다.
- 성능: 다른 포매팅 방식보다 처리 속도가 더 빠릅니다.
- 유연성: 중괄호 {} 안에서 단순 변수 출력뿐만 아니라 간단한 연산이나 함수 호출도 가능합니다. (예: f"{i + 1}번째 파이썬")
느낀점
난 파이썬 사용하면서 따로 가상환경을 만들어서 사용하진 않았는데 이번에 사용하면서 사용하는 이유를 새롭게 알게 되었다. 오늘 역시 파이썬 초반 기본 문법 부분이라 어려운 건 없었지만 저번처럼 초반엔 쉽다가 한순간에 어려워지는 미래가 뻔히 보이기 때문에 매번 긴장을 해야할 것 같은 느낌이다......
——————————————————————————
본 후기는 [한글과컴퓨터x한국생산성본부x스나이퍼팩토리] 한컴 AI 아카데미 (B-log) 리뷰로 작성 되었습니다.
'학습일지' 카테고리의 다른 글
| [스나이퍼팩토리] 한컴AI아카데미(26.04.23) (0) | 2026.04.23 |
|---|---|
| [스나이퍼팩토리] 한컴AI아카데미(26.04.22) (0) | 2026.04.22 |
| [스나이퍼팩토리] 한컴AI아카데미(26.04.17) (1) | 2026.04.17 |
| [스나이퍼팩토리] 한컴AI아카데미(26.04.16) (0) | 2026.04.16 |
| [스나이퍼팩토리] 한컴AI아카데미(26.04.15) (0) | 2026.04.15 |