STUDY/이론

[데이터분석 레벨원] 파이썬 핵심 문법

7alswn 2024. 7. 16. 02:02

Data Type

int 정수
float 실수(소수)
str 문자열(텍스트)
list - 여러 데이터를 하나의 변수에 다르며, 모든 원소의 데이터 타입이 달라도 됨
- indexing, slicing로 데이터 중 일부를 뽑아낼 수 있음
- 대표적인 mutable data type
tuple - list의 대부분의 기능 제공 / assignment를 이용한 원소 update 불가
- 대표적인 immutable data type
set 집합 / 원소의 중복 허용 X
dict key - value 형태로 데이터 저장 / key 값으로 데이터 indexing 가능

if

  • 조건에 따라 코드 실행
  • 여러 조건 동시 판단 가능
    • if - elif - else 구문
coffee = 5
money = 300
if (coffee > 0) and (money >= 300):
	print("커피를 뽑아줍니다.")
elif (coffee > 0) and (money < 300):
	print("돈이 모자랍니다. 돈을 더 넣어주세요.")
else:
	print("커피가 없습니다.")

while

  • (특정 횟수가 아닌) 조건 만족 시 반복 수행
coffee = 10

while coffee > 0: # money는 계속해서 사용자 입력으로 들어옵니다.
	if (coffee > 0) and (money >= 300):
    	print("커피를 뽑아줍니다.")
		coffee = coffee - 1
	elif (coffee > 0) and (money < 300):
		print("돈이 모자랍니다. 돈을 더 넣어주세요.")

print("커피가 없습니다. 관리자에게 문의해주세요.")

for

  • 다양한 환경에서 반복 활용 시 사용
  • 특정 횟수를 반복
  • 파이썬에서 강력한 기능
##구구단
for dan in range(2, 10):
	print("-" * 10)
	for number in range(1, 10):
		print(f"{dan} x {number} = {dan*number}")

Funtion

  • 같은 코드가 n번 반복될 때 효율성을 위해 사용
  • 동작 원리: 파라미터 전달 받기 > 정의된 내부 코드 실행 > 결과 return
  • 파이썬에서는 파라미터, return 없이도 함수 정의 가능
  • 파라미터가 mutable인 경우, 함수 내부에서 수정된 결과가 파라미터로 넘어온 변수에 그대로 반영
def find_median(sequence): #숫자가 담겨있는 sequence를 입력받아 중앙값을 return해주는 함수
	sequence = sorted(sequence) #넘어온 sequence를 정렬한 결과를 사용 (원본 데이터 X)
	if len(sequence) % 2 == 0:
		med_idx = int(len(sequence) / 2)
		median = (sequence[med_idx - 1] + sequence[med_idx]) / 2
	else:
		med_idx = int(len(sequence) / 2)
		median = sequence[med_idx]
return median

L = [1, 2, 3, 4, 5]
L2 = [1, 3, 5, 7, 9, 11]
L3 = [1, -100, 3, 50, -16]

print(find_median(L)) #3
print(find_median(L2)) #6
print(find_median(L3)) #1