본문 바로가기
728x90
반응형

파이썬10

파이썬 map 함수를 알아보자 리스트를 [1, 2, 3, 4, 5] --> [10, 20, 30, 40, 50] 과 같이 변환하려면 어떻게 할까? 먼저, 생각나는 것은 for 문을 사용해볼 수 있을 것이다.list_orig = [1, 2, 3, 4, 5]list_result = []for num in list_orig: list_result.append(num * 10)print(list_result)이것을 map 함수로도 구현할 수 있는데, map 함수의 형식을 먼저 살펴보자.map(조작함수, 순회가능한객체)조작함수 부분은 위의 for 구문에서 num * 10 의 기능을 해주는 함수이고, 순회가능한객체는 리스트, 튜플 등이 해당된다.일단 조작함수부터 구현해보자.def mul_ten(num): return num * 10 .. 2024. 11. 26.
파이썬 lambda 함수 lamda 함수란, 한줄짜리 짧은 이름없는(익명) 함수 일반적인 함수의 사용예def add(x, y): return x + yprint(add(10,20))# 파이썬에서 함수는 객체이며, 변수에 저장이 될 수 있다.add2 = addprint(add2(10,20)) lambda 함수 기본형태lambda 인자: 리턴값 사용예result = (lambda x, y: x + y)(10, 20)print(result) # 람다 함수를 변수에 넣는다.add3 = lambda x, y: x + yprint(add3(10,20)) 이런식으로 리스트에도 넣을 수 있다. 이것은 일반 함수도 가능한 일이다.lambda_list = [lambda x: x+10, lambda x:x+100]print(lambda_lis.. 2024. 11. 15.
파이썬 타입 힌트 알아보기 다들 알고 있는 것처럼, 파이썬은 동적 타입 언어이다. 이 것은 변수의 타입을 지정하지 않고, 모든 타입의 데이터를 넣을 수 있다는 말이다. 반면에 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.
FastAPI (3) : DB(PostgreSQL) 붙여보기 이번에는 FastAPI 프레임워크에 PostgreSQL 을 붙여서 동작시켜보자. 우선, scoop 을 이용해서 PostgreSQL을 설치해준다. scoop install postgresql 을 실행한다.pg_ctl start 를 입력해서 PostgreSQL을 기동합니다.psql -U postgres 를 입력해서 PostgreSQL에 관리자로 로그인합니다.다음처럼 새로운 사용자 계정을 생성합니다. 사용자 이름과 비밀번호는 원하는 것으로 설정하면 되겠습니다.그리고, Database 를 생성합니다. 데이터베이스 이름은 test_db 로 하였고, 소유주는 test_user 로 하였습니다.\q 로 PostgreSQL에서 빠져나와서 새로 새성한 사용자로 로그인해봅니다.새로운 테스트용 테이블도 생성해봅니다.CREAT.. 2024. 10. 18.
FastAPI (2) : 컨트롤러 확장하기 앞에서 간단하게 FastAPI 프로그램을 만들어보았는데,  이대로 작성을 하면, API가 늘어날 수록 main.py 파일 점점 내용이 많아지고 커질거에요. 그러면, 코드 유지보수에 문제가 있으니, API들을 분류를 해서 분리할 필요가 있습니다. 보통 컨트롤러(controller)라는 이름으로 분리를 합니다. FastAPI 에서는 이것을 라우터(router)라고 표현합니다. 저는 router 라는 이름보다는 controller 를 선호합니다. 기존에 작성했던 코드에서 /items API가 이었는데, 이것을 별도의 컨트롤러로 분리를 해봅시다. C:\work\fapi 폴더 아래에 controller 폴더를 만듭니다.그리고, 비어있는 __init__.py 파일을 만들어주고, items.py 도 만들어줍니다.# .. 2024. 10. 15.
728x90
반응형