본문 바로가기

파이썬6

NamedTuple 초기화 이후 수정하는 방법 파이썬의 듀플은 수정불가다. 그래도 할 수 있다. None을 default 값으로 하고, 초기화 이후에 수정하는 방법이다 namedtuple 의 _replace() 을 사용하면 된다. _replace 가 수정 후 새로운 namedtuple을 리턴하기 때문에 재할당 해줘야한다. tp._replace(title='reset') import collections fields = "dag task_id flag puller jandi_url jandi_title jandi_color jandi_info" JandiInfo = collections.namedtuple("JandiInfo", fields) JandiInfo.__new__.__defaults__ = (None,) * len(fields.split(".. 2020. 12. 11.
module - 모듈 python 에서 module 은 def를 사용하여 정의한다 def가 실행되면, 함수의 객체와 참조가 같이 생성된다 return값을 설정하지 않으면 python은 자동으로 None을 반환한다 C 언어와 같이, 아무런 값을 반환하지 않는 함수는 procedure(프로시저)라고 부른다 함수가 호출될 때마다 active record(활성화 레코드)가 생성된다 활성화 레코드에는 함수의 정보가 기록되며, 이를 stack에 저장한다함수의 정보 (반환값, 매개변수, 지역변수, 반환주소) 모듈생성 시 주의점 - 모듈의 기본값 모듈을 생성할 때, 함수 또는 매서드에서 가변객체를 기본값으로 사용하면 안된다 # 나쁜 예 def method(number, number_list=[]): number_list.append(num.. 2020. 9. 18.
숫자 출력 시 width에 맞춰서 앞에 0 채우기 앞에 0을 채워서 스트링 길이를 width에 맞추기 >>> '3'.zfill(5) >>> '%05d'% 3 >>> format(3,'05') >>> '{0:05d}'.format(3) >>> '{n:05d}'.format(n=3) >>> '3'.rjust(5,'0') '00003' 2020. 7. 28.
파이썬 정규식(regular expression:regex) 사용 - 일부만 추출 파이썬에서 정규식 사용 정규식으로 찾고 일부만 추출하기 >>> import re >>> _str=" 65 0 0 -50 243 323 Tm\n asdfasdf" # 정규식에서 `()`로 싸여진 곳이 `group` >>> matches = re.finditer(r"^\d+ \d+ \d+ \-\d+ (\d+) \d+ Tm$",b,re.MULTILINE) >>> for match in matches: ... print(match.group()) ... group_num = len(match.groups()) ... print(match.group(group_num)) ... 65 0 0 -50 243 323 Tm 243 2020. 6. 15.
패키지, 모듈, import 에러 하나의 레포에서 여러 람다 프로젝트 사용하기 . ├── deploy.py ├── requirements-dev.txt ├── requirements.txt ├── lambda-service1 │ ├── __init__.py │ ├── Dockerfile │ ├── serverless.yml │ ├── package-lock.json │ ├── package.json │ └── handler.py ├── lambda-service2 │ ├── __init__.py │ ├── Dockerfile │ ├── serverless.yml │ ├── package-lock.json │ ├── package.json │ └── handler.py ├── tests │ ├── service1 │ │ ├── __init.. 2020. 6. 12.
python virtualenv 가상환경 셋팅 pyenv github.com/pyenv/pyenv 파이썬 설치 $ pyenv install --list $ pyenv install 3.6.0 $ pyenv versions 전역에서 사용할 파이썬 설정 $ pyenv versions $ pyenv global 3.6.0 pyenv-virtualenv 을 사용한 가상환경 관리 # pyenv virtualenv $ pyenv virtualenv 3.6.0 prg_name 가상환경 적용하기 $ pyenv local prj_name 2020. 6. 5.