| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 | 30 |
- eager
- 간수치
- Submodule
- 티샷매너
- 그린플레이매너
- 담낭청소법
- GPU
- pytorch
- react
- 골프라운딩
- 머리올리기
- NPU
- 페워웨이샷매너
- CUDA
- ai agent
- agent
- 감마지티피
- 높낮이계산
- 골프라운딩준비물
- Parallel Programming
- 골프존
- 담석제거
- 골프존에서 퍼팅 공 놓는 법
- model context protocol
- 골프비용
- Git
- 간청소
- llm
- parallel computing
- 계산공식
- Today
- Total
목록Engineering/Python (7)
Jihun Oh
정적 분석 도구 (Static Analysis Tool) 란?코드를 실행하지 않고 분석하여 문법 오류, 스타일 문제, 버그 가능성, 타입 오류, 코드 품질 저하 등을 미리 발견하는데 사용목적은 오류 예방, 코드 품질 개선, 일관성 유지 주요 python 정적 분석 도구들 추천 사용 조합 (실무 기준) 차이점 요약 최신 트렌드는 ruffruff는 rust로 작성된 매우 빠른 linter이자 formatterflake8, black 등 기존 라이브러리들의 규칙들을 대부분 지원해서 ruff 하나만 있어도 프로젝트 관리하는데 문제가 없음설정# pyproject.toml...[tool.ruff]line-length = 140 # 최대 길이를 140으로 늘려봤습니다. [tool.ruff.lint]select =..
무제한 이터레이터from itertools import count, cycle, repeat, accumulate, pairwisecount(start=10, step=2) # 10 12 14 16 18 ...cycle('ABCD') # A B C D A B C D ...repeat(10, 3) # 10 10 10accumulate([1, 2, 3, 4, 5]) # 1 3 6 10 16pairwise('ABCDEFG') # AB BC CD DE EF FG 조합형 이터레이터from itertools import combinations, combinations_with_replacement, permutationsl = [1,2,3]for i in combinations(l, 2): print(i) #..
re(정규표현식)을 사용해서 숫자와 소문자만 추출import re# 숫자와 소문자만 추출 (한 글자씩)text = "Hello123! ABCdef456@#"matches = re.findall(r'[a-z0-9]', text)print(matches) # ['e', 'l', 'l', 'o', '1', '2', '3', 'd', 'e', 'f', '4', '5', '6']# 숫자와 소문자만 추출 (한 단어씩)text = "A man, a plan, a canal: Panama"matches = re.findall(r'[a-z0-9]+', text)print(matches) # ['man', 'a', 'plan', 'a', 'canal', 'anama']# 단어의 순서를 뒤집어서 문장 만들기 (위에 연..
defaultdict존재하지 않는 키를 조회할 경우, 에러 메시지를 출력하는 대신 디폴트 값을 기준으로 해당 키에 대한 딕셔너리 아이템을 생성해준다.아래 예제에서 'C'는 원래 존재하지 않는 키이지만, defaultdict 객체는 디폴트인 0값에 +1 연산이 가능하다. >>> from collections import defaultdict>>> a = defaultdict(int)>>> a['A'] = 5>>> a['B'] = 4>>> a['C'] += 1>>> adefaultdict(, {'A':5, 'b':4, 'C':1}) Countercounter 객체는 아이템에 대한 개수를 계산해 딕셔너리로 리턴한다. 개수를 자동으로 계산해주기 때문에 매우 편리하며, 다양하게 활용된다. 가장 빈도 수가 높은..
generator루프의 반복 iterator 동작을 제어할 수 있는 루틴 형태를 지칭.루프를 위해 대량의 숫자을 만들어 놓아야 하는 경우, 큰 메모리를 잡아가면서 저장해 놓아야 한다. 이렇게 하는 것보다 제너레이터를 생성해 놓고, 언제든 숫자를 만들어 낼 수 있게 하는 게 효율적이다. 이 때, yield는 제너레이터가 여기까지 실행 중이던 값을 내보낸다는 의미로, 중간값을 리턴한 다음 함수는 종료되지 않고 계속해서 맨 마지막에 도달할 때까지 실행된다. 이터레이터는 __next__ 메서드 안에서 직접 return으로 값을 반환하지만, 제너레이터는 yield에 지정한 값이 __next__ 메서드의 반환값으로 나온다. 그리고 StopIteration 예외가 발생하면 반복을 끝낸다. 제너레이터는 함수를 끝내지..
set 파이썬에서 집합을 표현하는 세트 자료형. 세트 만들기. 세트는 요소의 순서가 정해져 있지 않다. 그래서 세트를 출력해보면 매번 요소의 순서가 다르다. 또, 세트에 들어가는 요소는 중복될 수 없다. 세트는 [ ] 로 특정 요소만 출력할 수 없다. (리스트, 튜플, 딕셔너리는 가능) >>> fruits = {"strawberry", "orange", "orange", "cherry"} fruits {"strawberry", "orange", "cherry"} 영문 문자열에서 유일한 문자만 세트로 만든다. 한글 문자열을 세트로 만들면 음절 단위로 세트가 만들어진다. 세트는 리스트, 딕셔너리와 달리 세트 안에 세트를 넣을 수 없다. 파이썬은 내용을 변경할 수 없는 세트도 제공한다. (frozenset) ..
map(function, iterable)iterable에 있는 모든 요소에 function을 적용하여 그 결과를 반환한다. map()을 수행한 결과는 map object로 반환되므로 이를 list 또는 tuple로 변환하는 작업이 필요하다.>>> list(map(lambda x: x + 10, [1, 2, 3]))[11, 12, 13]>>> [n * 2 for n in range(1, 10 + 1) if n % 2 == 1][2, 6, 10, 14, 18] filter(function, iterable)iterable의 각 element에 대해 function이 True를 반환하는 element의 iterator라고 한다.>>> l5 = [1, 2, 3, 4, 5, 6]>>> list(filter(l..