IT world

[Python] 24.01.16 Folium과 함수 심화 본문

모두의 연구소(오름캠프)/AI 모델 활용 백엔드 개발 과정

[Python] 24.01.16 Folium과 함수 심화

엄킹 2024. 1. 16. 17:15

오늘 오전도 어제와 동일하게 LMS 강의를 수강했다. 

 

크게 크롤링과 폴리움 (folium) 에 대한 실습문제를 풀어보며 강의를 진행했다. 

 

Folium이란?

Folium은 지도 위에 데이터를 시각화하고 표현해주는 파이썬의 지도 시각화 라이브러리이다.

마커를 추가하거나, 원으로 범위를 표현할 수 있고 다양한 데이터(위도, 경도 등)를 호출하여 반영할 수 있다.

 

제주도의 한라산뿐 아니라 서귀포시의 오름의 위치까지 표현하기 위해 공공데이터포털에서 '제주특별자치도 서귀포시 이용가능 오름현황' 데이터를 이용했고, 각 위치를 마커를 통해 시각화했다.

[공공데이터포털에서 다운로드한 서귀포시 오름 이용 가능 현황 데이터]
[서귀포시 오름 이용 현황 시각화]

 

오후 수업이 시작하고 이론 수업을 진행했다.

 

1. 메서드 체이닝( Method Chaining ) 이란?

메서드 체이닝은 파이썬과 같은 객체 지향 프로그래밍 언어에서 흔히 볼 수 있는 기술로, 여러 메서드 호출을 연결하여 코드를 더 간결하고 읽기 쉽게 만드는 기술이다.  

[메서드 체이닝 예시]

 

예시의 내용처럼 문자열에 replace()와 lower() 메서드를 연결하여 사용하는 것을 메서드 체이닝이라고 하며 코드가 간결해지는 장점이 있지만 너무 많이 체이닝을 사용하면 코드의 가독성을 해칠 수 있으니 적절하게 사용해야한다.

 

2. 일급함수(First-Class Function) 란?

일급함수는 함수를 값으로 취급하는 것을 말한다. 

쉽게 말해 함수 자체를 인자로써 다른 함수에 전달하거나 다른 함수의 결과 값으로 리턴할 수 있고, 함수를 변수에 할당하거나 데이터구조안에 저장할 수 있는 함수를 뜻한다.

 

다음 조건을 만족하는 경우 일급 함수라고 한다.

  1. 함수를 변수에 저장할 수 있는 경우 → 해당 변수를 새로운 함수 이름처럼 사용 가능
  2. 함수를 다른 함수에 매개변수로 전달할 수 있는 경우 → 코드의 유연성을 높일 수 있고, 콜백 패턴 등 다양한 패턴 구현
  3. 함수에서 다른 함수를 반환할 수 있는 경우 → 함수 내 함수가 외부 변수를 참조하여 보존하는 클로저 기능 구현 가능
  4. list, dict 등과 같은 데이터 구조에 저장할 수 있는 경우 → 데이터처럼 유연하게 관리하고 조작 가능

[함수를 변수에 할당 예시]
[데이터 구조에 저장 예시]

 

3. 고차함수(Higher-order functions) 란?

고차함수는 다른 함수를 인수로 받거나 반환하는 함수를 말한다.

하나 이상의 함수를 인자로 받을 수 있고, 함수를 결과로 반환이 가능하다 파이썬의 함수는 객체로 취급되므로 함수를 변수에 할당하거나 데이터 구조에 저장할 수 있고, 다른 함수의 인자로 전달하거나 반환할 수 있다.

 

고차 함수는 코드의 재사용성을 높이고, 코드를 유연하게 만드는데 도움이 된다.

 

4. 재귀함수(recursion) 란?

재귀함수는 함수 내부에서 자신을 다시 호출하여 작동하는 함수를 말한다(나 자신을 호출)

반복적인 작업을 수행하되, 무한루프에 빠지지 않도록 종료 조건이 필요하다.

 

재귀함수하면 당연 팩토리얼...!

[팩토리얼 예시]

 

Comments