본문 바로가기

Dev/Python23

python virtualenv - 폐쇄망(오프라인)에서 설치하기 파이썬 개발을 하기위해 버전관리 프로그램인 virtualenv를 사용하기로 했다. 개발환경이 폐쇄망이어서 virtualenv 설치파일 패키지로 설치해야 했다. 준비사항 python, pip 가 설치되어 있어야 함. 라이브러리 설치파일(패키지)이 있어야 함. 다음 명령어로 패키지를 설치한다. pip install --no-index --find-links="패키지경로" 패키지명 pip install --no-index --find-links="패키지경로" virtualenv 설치되었는지 확인하기 pip list 사용한 pip 명령어 알아보기 --no-index 패키지의 인덱스를 무시하고 -f, --find-links 옵션으로 지정한 url에 접근하여 다운 및 설치하는 옵션. 이 명령어 사용시 -f 또는 -.. 2023. 9. 20.
python - self 매개변수에 대해 self 매개변수 클래스를 선언하고 메소드를 작성할때 반드시 매개변수로 self 값을 받도록 해야 한다고 했다. 이에 대해 더 자세히 알아보자. 먼저 다음과 같이 클래스를 선언하고 메소드 두개를 작성했다. class Fox: def fun1(): print('fun1') def fun2(self): print('fun2') a = Fox() a.fun2() a.fun1() fun1메소드는 매개변수를 아무것도 받지 않도록 선언했고, fun2메소드는 배웠던 것처럼 self 매개변수를 받도록 선언했다. fun2() 메소드는 self 매개변수를 받도록 선언했지만 메소드 실행시 변수를 넘기지 않고 실행해도 에러가 발생하지 않는다. 하지만 fun1 메소드를 실행하면 에러가 발생한다. a.. 2023. 9. 18.
클래스 먼저, 클래스의 개념, 객체의 무결성 보장에 대해 알고 있어야 함. 이 글에서는 파이썬에서 클래스를 선언하고 사용하는 방법만 간단하게 설명함. 클래스 선언 class Pokemon: pass a = Pokemon() print(type(a)) # pass 는 아무것도 수행하지 않는 키워드. 임시 코드 작성시 많이 사용한다. 클래스 객체 변수 할당 class Pokemon: type = {'first': '', 'second':''} def __settype__(self, key, value): self.type[key] = value pikachu = Pokemon() pikachu.__settype__('first', '전기.. 2023. 9. 14.
global, nonlocal ( 전역, 지역 변수 ) 들어가기 전에... 먼저 전역, 지역 변수에 대한 이해가 있어야함. global 파이썬에서는 함수내에서 전역변수를 사용하려면 global 키워드를 사용해야 한다. 바로 예제부터 보자. g = 1 def test(): g = 2 print(g) test() print(g) # 결과 # 2 # 1 test 함수 내부에서 선언한 g = 2 는 전역변수 g = 1 이 아닌 새롭게 선언된 변수가 된다. 따라서 전역변수 g를 가져와서 사용하려면 함수내에서 global 키워드를 붙여서 선언 후 사용해야 한다. g = 1 def test(): global g g = 2 print(g) test() print(g) # 결과 # 2 # 2 nonlocal 함수가 중첩되어 전역변수를 사용하려면 nonlocal 키워드로 선언.. 2023. 9. 13.
[python, venv, virtualenv] 파이썬 버전관리 - virtualenv 파이썬 가상환경이란?파이썬 개발시 프로젝트에 따라서 정해진 버전을 사용해야 되는 경우가 있다.따라서 버전관리를 위해 파이썬 가상환경 라이브러리를 사용하게 된다. 가상환경 종류- venv : 파이썬 표준 라이브러리로 설치없이 사용가능함. virtualenv의 경량버전으로 생각할 수 있음.- virtualenv : 외부 라이브러리로 설치가 필요함. venv 보다 빠르고, 확장성이 높음. 간단한 프로젝트라면 venv 를 사용해도 무방하나 더 높은 확장성과 다양한 파이썬 버전 지원이 필요한 경우 virtualenv가 더 적합할 수 있음. venv1. 설치venv는 Python 3.3 이상 버전에 내장되어 있어 별도 설치가 필요 없습니다.2. 가상환경 생성python -m venv 가상환경이름3. 활성화Windo.. 2023. 9. 12.
python 함수 함수 선언 def 예약어를 사용한다. def 함수명(매개변수): 수행문장1 수행문장2 ... 더하기 함수 만들어 보기 def add(a, b): return a + b 매개변수 직접 지정 매개변수의 순서를 맞추지 않고 다음과 같이 직접 지정할 수 있다. def test(a, b): print(a - b) test(b = 3, a = 4) # 1 인자가 없을경우에도 괄호는 작성해야함. def say(): return 'Hi' 매개변수가 여러개일경우 매개변수가 몇개올지 모르는 경우 다음과 같이 선언할 수 있다. def add_many(*args): result = 0 for i in args: result = result + i # 매개변수를 모두 더한다. return result print(.. 2023. 9. 12.