본문 바로가기
빅데이터분석

[파이썬] 파이썬 입문 데이터분석 프로젝트 만들기 - (2) 파이썬 기초문법: 함수, 조건문(if)

by 모닥불🔥 2024. 2. 11.

이번 글도 메타코드m, 링고 선생님의 데이터분석 프로젝트 입문 강의를 정리할 것이다. 

https://mcode.co.kr/ 로 접속하면 강의를 구매할 수 있다. 당분간은 이거 위주로 듣지 않을까 싶다.

 

🔥 강의 목차

오리엔테이션
파이썬 기초 문법
데이터 전처리
데이터 시각화
마케팅 데이터 분석 및 지표 정의하기

🔥파이썬 기초문법: 함수

def 함수명(매개변수1, 매개변수2, ..., 매개변수n):
'''
문서화 문자열 (선택사항): 함수의 목적과 매개변수, 반환값 등에 대한 설명
'''

# 함수의 로직, 계산, 처리 등을 수행하는 코드
return 반환값 # 함수가 결과를 반환. 반환값이 없는 경우, return은 생략 가능

 

 

함수는 특정 작업을 수행하는 코드의 집합으로, 재사용이 가능하다. 매개변수(parameter)는 함수의 입력값을 지정하기 위한 변수이다. 예를 들어, 2x+3 = f(x)라는 함수가 있을 때 x가 매개변수가 된다.

 

함수를 정의할 때에는 def 를 쓰고, 함수명을 적는다. def는 define의 줄임말이다. 그리고 매개변수를 괄호 안에 적은 다음 :(콜론)을 찍고, 다음 행에 함수 설명문을 적는다. 설명 부분은 ''' '''로 감싸 준다. 그런 다음 함수에서 계산 또는 처리할 코드를 작성하고 return 반환값 형태로 반환값을 지정한다. 아래의 예시를 참조하면 이해하기 쉽다.

# 함수 정의

def operation1(x):
 '''
 2x+3 연산을 수행
 x = int
 '''
 
 result = (2 * x) + 3
 return result
# 함수 설명 불러오기 help(함수명)

help(operation1)
# 함수의 매개변수 부분에 값을 넣어서 연산 실행

print(operation1(1))

 

"들여쓰기"는  파이썬 문법의 중요한 요소이다. 함수를 정의할 때 콜론 다음 행을 들여쓰기 하는 것이 올바른 문법이다. 들여쓰기를 하지 않으면 틀린 문법으로 간주되어 오류가 발생한다.


🔥연습문제

* 함수 만들기
함수명: greet
설명: 이름을 매개변수로 받아 "Hello, [name]!" 형식으로 인사말을 반환하는 함수를 작성하세요.
예시: greet("Alice")는 "Hello, Alice!"를 반환해야 한다.

 

연습문제 풀이

def greet(name):
	'''
    이름을 매개변수로 받아 인사말을 반환합니다.
    '''
	result = f"Hello, {name}!"
    return result

 

나는 result = print(f"Hello, {name}!") 이런 식으로 정의 했었는데, 이렇게 하면 나중에 print(greet("이름"))을 넣었을 때, Hello, 이름! None 이런 식으로 None이 함께 뜬다. print 함수는 맨 마지막에 출력할 때 쓴다고 생각하면 될 것 같다.


🔥파이썬 기초문법: If(조건문)

If문을 쓰기 전에, 먼저 Boolean(불리안)이라는 데이터 타입에 대해 알아야 한다. Boolean은 참(True)과 거짓(False)만 나타내는 데이터 타입으로, 비교 연산자로 참인지 거짓인지 판별한다.

 

비교 연산자의 종류는 아래와 같다.

비교 연산자 내용
== (Equal to) 두 값이 같은지 비교한다. 같으면 참(True)을 반환한다.
!= (Not equal to) 두 값이 다른지 비교한다. 다르면 참(True)을 반환한다.
> (Greater than) 왼쪽 값이 오른쪽 값보다 큰지 비교한다. 크면 참을 반환한다.
< (Less than) 왼쪽 값이 오른쪽 값보다 작은지 비교, 작으면 참을 반환한다.
>= (Greater than or equal to) 왼쪽 값이 오른쪽 값보다 크거나 같으면 참을 반환한다.
<= (Less than or equal to) 왼쪽 값이 오른쪽 값보다 작거나 같으면 참을 반환한다.

 

파이썬에서 True, False는 대문자로 적어주어야 한다. 소문자로 적으면 Boolean으로 인식하지 못한다.

equal = 1 == 1

 

위 표에서 등호가 두 개인 '=='는 비교 연산자이며 등호가 하나인 '='는 변수를 할당할 때 사용하는 기호다. 위 코드처럼 쓰면 1과 1은 같다 (1 == 1) 라는 참(True) 값을 equal 이라는 변수에 할당한다는 의미이다(equal = True). equal 변수는 True를 반환한다. 동일하게 false를 반환하도록 코드를 적을 수도 있다(예: not_equal = 1 == 2).


if 조건:
# 조건이 참(True)일 때 실행되는 코드
else:
# 조건이 거짓(False)일 때 실행되는 코드

 

if문(조건문)은 조건이 참일 때 코드를 실행하는 형태의 코드로, 위와 같은 기본 구조를 가지고 있다. if 조건 콜론 그리고 다음줄에 조건이 참일 때 실행되는 코드를 쓰는 식이다. 실행할 코드는 들여쓰기를 꼭 해주어야 한다. 

 

if True:
	print('맞다')
else:
	print('틀리다')

 

이런 식으로 조건에 직접적으로 True를 넣어주는 방법도 있고,

if 1 > 2:
	print('맞다')
else:
	print('틀리다')

 

이런 식으로 비교 연산자를 사용한 조건을 적을 수도 있다. 대부분 이렇게 사용하겠지?

if 조건 1:
	# 조건 1이 참(True)일 때 실행되는 코드
elif 조건 2:
	# 조건 1이 거짓(False)이고, 조건 2가 참(True)일 때 실행되는 코드
else:
	# 모든 조건이 거짓일 때 실행되는 코드(True)

 

if ~ else 구조가 가장 기본적이지만, 조건을 여러 개 중첩하고 싶을 때는 if~elif~else 형태로 사용한다

if False:
	print('조건 1이 맞다.')
elif True:
	print('조건 1은 틀리고 조건 2가 맞다.')
else:
	print('둘 다 틀리다.')

 

🔥연습문제

python 함수 compare를 작성하세요.
이 함수는 두 개의 매개변수 a와 b를 받아 다음 조건에 따라 결과를 반환해야 합니다.


- 만약 a가 b보다 크면 "a가 더 크다."를 반환합니다.
- 만약 b가 a보다 크면 "b가 더 크다."를 반환합니다.
- a와 b가 같다면 "a와 b는 같다."를 반환합니다.

 

def compare(a, b):						# def 함수명(매개변수1, 매개변수 2...):
  if a>b:								# if 조건:
    output = f"{a}가 더 크다."			 # 실행할 코드 output에 저장
  elif a<b:								# elif 조건:
    output = f"{b}가 더 크다."			 # 실행할 코드 output에 저장
  else:									# else:
    output = f"{a}와 {b}는 같다."		 # 실행할 코드 output에 저장
  return output							# output을 반환값(return)으로 설정

 

나는 위와 같이 코드를 적었는데, 강의에서는 f 스트링을 사용하지 않고 그냥 정의했다. 

## Ringo 선생님 풀이

def compare(a, b):
  if a>b :
    output = "a가 더 크다."
  elif b>a :
    output = "b가 더 크다."
  else :
    output = "a와 b는 같다."
  return output

 

파이썬 기초 강의를 다 들으면 데이터 전처리, 업무 자동화, 데이터분석 포트폴리오를 만들 수 있겠지? 얼른 파이썬 기초 강의를 다 들어야겠다. 히히 오늘도 꺼지지 않는 열정으로 화르륵🔥 뿅