AI 인공지능/파이썬 study
[파이썬study] 기획자도 배우는 파이썬
thinkhub
2024. 11. 19. 10:02
파이썬 학습을 서비스 기획자의 관점에서 접근하면, 실무와 연계한 간단한 데이터 처리나 분석 중심으로 배우는 것이 유용합니다.
1. 목표 설정
- 데이터 분석을 통해 리포트를 만들고 싶다.
- 간단한 자동화 스크립트를 작성하고 싶다.
- API 데이터를 활용해 시각화하거나 서비스를 개선하고 싶다.
2. 기초 문법 익히기
- 무료 강의: 점프 투 파이썬
- 영상 강의: 유튜브에서 "파이썬 기초 강의" 검색
- 학습 키워드: 변수, 리스트, 조건문, 반복문, 함수
3. 데이터 분석 기본 배우기
- 라이브러리:
- Pandas: 데이터 프레임 다루기
- Matplotlib/Seaborn: 데이터 시각화
- 추천 자료:
- Pandas 공식 문서
- 캐글(Kaggle)의 데이터 분석 초급 프로젝트
4. 자동화와 API 활용
- 반복적인 엑셀 작업 자동화: OpenPyXL 사용
- API 데이터 활용: requests 라이브러리로 REST API 연습
- 프로젝트 예제: 네이버 지도 API로 데이터 수집
5. 작은 프로젝트 수행
- 가게의 매출 데이터 시각화
- VOC 분석 결과를 차트로 출력
- 실시간 API를 사용해 트렌드 분석
6. 도구 활용
- Google Colab: 별도의 설치 없이 파이썬 실행
- ChatGPT: 코드 작성과 디버깅 지원
파이썬 함수 유형
1. 내장 함수 (Built-in Functions)
- 파이썬에서 기본적으로 제공하는 함수들.
- 예시: print(), len(), type(), sum()
print("Hello, Python!")
numbers = [1, 2, 3, 4]
print(len(numbers)) # 출력: 4 - 특징: 추가적인 설치 없이 바로 사용할 수 있음.
2. 사용자 정의 함수 (User-defined Functions)
- 사용자가 필요에 따라 정의하는 함수.
- 키워드 def를 사용하여 선언.
def greet(name):
return f"Hello, {name}!"
print(greet("Alice")) # 출력: Hello, Alice!
3. 람다 함수 (Lambda Functions)
- 한 줄로 작성되는 익명 함수.
- lambda 키워드를 사용.
add = lambda x, y: x + y
print(add(3, 5)) # 출력: 8 - 보통 간단한 작업에 사용.
4. 재귀 함수 (Recursive Functions)
- 자기 자신을 호출하는 함수.
- 주로 알고리즘이나 문제 분할에 사용.
- 주의: 무한 루프에 빠지지 않도록 종료 조건 필요.
def factorial(n):
if n == 1:
return 1
return n * factorial(n - 1)
print(factorial(5)) # 출력: 120
5. 제너레이터 함수 (Generator Functions)
- yield 키워드를 사용하여 값을 하나씩 반환.
- 메모리 효율적.
def count_up_to(n):
i = 1
while i <= n:
yield i
i += 1
for num in count_up_to(3):
print(num) # 출력: 1, 2, 3
6. 내부 함수 (Inner Functions)
- 함수 내부에 정의된 함수.
- 특정 함수의 내부 로직으로만 사용될 때 활용.
def outer_function(text):
def inner_function():
return text.upper()
return inner_function()
print(outer_function("hello")) # 출력: HELLO
7. 매개변수에 따른 유형
- 기본 인수(Default Arguments):
def greet(name="Guest"):
return f"Hello, {name}!"
print(greet()) # 출력: Hello, Guest!가변 인수(*args)def add_numbers(*args):
return sum(args)
print(add_numbers(1, 2, 3)) # 출력: 6키워드 인수(kwargs)def print_details(**kwargs):
for key, value in kwargs.items():
print(f"{key}: {value}")
print_details(name="Alice", age=30) # 출력: name: Alice, age: 30
8. 데코레이터 함수 (Decorator Functions)
- 다른 함수를 수정하거나 기능을 추가하는 함수.
def decorator(func):
def wrapper():
print("Before the function call")
func()
print("After the function call")
return wrapper
@decorator
def say_hello():
print("Hello!")
say_hello()
# 출력:
# Before the function call
# Hello!
# After the function call
9. 클래스 메서드 (Class and Static Methods)
- 클래스 메서드: @classmethod 데코레이터 사용.
- 스태틱 메서드: @staticmethod 데코레이터 사용.
class MyClass:
@classmethod
def class_method(cls):
return "This is a class method."
@staticmethod
def static_method():
return "This is a static method."
print(MyClass.class_method()) # 출력: This is a class method.
print(MyClass.static_method()) # 출력: This is a static method.
기획은 검정색입니다.
"졸업 가운의 색이 검정인 이유는 검정이 성취와 권력의 색이기 때문입니다."
질문 환영합니다. 댓글 남겨주세요.
thinkhub
728x90