Python 기초 - 조건문,반복문,함수

Kyung Jae, Cheong·2022년 8월 30일
0

Python을 다루는데 있어 알아둬야할 기본적인 개념들을 정리하는 시리즈

Python이란?

  • 1989년 네덜란드의 귀도 반 로섬(Guiso van Rossum)이 크리스마스 휴가 중 재미로 개발한 프로그래밍 언어
  • 그리스 신화에 나오는 큰 뱀을 뜻한다고함..
  • 많은 기업에서 파이썬을 이용해 소프트웨어를 개발하고 있음.

왜 Python입니까?

  • 매년 최고의 프로그래밍 언어로 선정되고 있음.
  • 배우기 쉽고, 간결하고, 코딩이 편리함.
  • 다른 프로그래밍 언어와의 호환성이 뛰어남
  • 텍스트데이터를 다루기 편함
  • 들여쓰기 문법으로 인해 읽고 쓰기가 쉬운편
  • 다양한 데이터분석 모듈이 존재함(예를들어 Scikit-learn 등..)
  • 딥러닝의 기반(TenserFlow, Keras, Pytorch)

1. 조건문(if문,try문)

1-0. 조건식

  • 불리언 형태로 써야함. 즉, True,False로 구분되는 형태로 써야함.

    조건문 연산자들
    
    비교연산자
    < : 작음
    <= : 작거나 같음
    > : 큼
    >= : 크거나 같음
    == : 같음
    != : 같지 않음
    
    논리연산자
    and : 둘 다 True면 True (교집합)
    & : 둘 다 True면 True (교집합)
    or : 둘 중 하나만 True면 True (합집합)
    | : 둘 중 하나만 True면 True (합집합)
    not : False면 True (여집합)
    
    특수 논리연산자
    A in B : B안에 A가 있으면 True
    A not in B : B안에 A가 없으면 True
  • 조건식이 만족할 때 코드를 실행하는 것이 조건문의 핵심

  • 각 제어문 뒤에는 콜론:이 들어가야함

  • 각 제어문에 속하는 모든 문장에는 들여쓰기를 해줘야함

1-1. if 조건문

if,else 조건문

  • 점수에 따라 학점을 부여하는 상황을 예시로 들어보겠음
    예시1
    if score >= 90:
    	print('A')
    else:
    	print('B')
  • else는 if 조건식이 만족안하는 모든 경우를 뜻함.
  • 조건이 여러개일땐 if문을 연속적으로 사용할 수 있음
    예시2
    if score >= 90:
    	print('A')
    else:
    	if score >= 70:
      		print('B')
      	else:
          	if score >= 50:
              	print('C')
            else:
            	print('D')

if,elif,else 조건문

  • 조건이 여러개일때, 예시2 처럼 쓰면 너무 복잡하니 elseif를 합친 elif를 사용해 좀더 간단하게 표현할 수 있음
    예시3
    if score >= 90:
    	print('A')
    elif score >= 70:
    	print('B')
    elif score >= 50:
    	print('C')
    else:
    	print('D')
  • 깔끔!

1-2. try 조건문

try, except, else 조건문

  • try 블록 수행중에 오류가 발생하면 except블록을 수행하는 형태
  • 오류가 발생하지 않으면 else블록을 수행
    예시
    try:
    	1/0
    except:
    	print('오류 : 분모가 0임')
    else:
    	print('오류 없음')

2. 반복문(while문,for문)

2-1. while문

  • 조건식을 만족하는 동안 블록을 반복해서 수행함
    예시
    i = 0 			#초기값
    while i < 10:
    	i += 1		# i = i + 1 과 같은 뜻
    	print(i)
  • 주의할 점:
    조건이 계속해서 참인 경우 예를들어 i>-1
    빠져나올 수 없이 무한 반복하게 됨

2-2. for문

  • while문과 다르게 반복횟수가 정해진 경우임
  • 주어진 리스트의 첫번째 요소부터 마지막 요소까지 차례대로 대입해서 반복수행함
    예시1 (리스트값 차례로 대입)
    for i in [1,3,5,7,9]:
    	print(i)
      
     예시2 (0부터 9까지 정수를 대입)
    for i in range(10):
    	print(i)
      
     예시3 (a보다 크거나 같고 b보다 작은 정수 대입)
    for i in range(a,b):
    	print(i)
      
     예시4 (a보다 크거나 같으면서 c의 간격으로 b보다 작은 정수 대입)
    for i in range(a,b,c):
    	print(i)
  • 반복하다가 중간에 반복을 멈추고 빠져나갈땐 break명령어를 씀
    예시 (0부터 5까지만 반복하고, 6부터는 멈춤)
    for i in range(10):
    	if i > 5:
      		break
      	print(i)
  • 반복하다가 중간에 건너뛸때는 continue명령어를 씀
    예시 (짝수는 건너뛰고 싶을때)
    for i in range(10):
    	if ( i % 2 ) == 0:
      		continue
      	print(i)

3. 함수(def-return문)

3-1. 함수생성

  • 함수란, 입력값(input)을 받아 작업을 수행하고 결과값(output)을 반환하는 것

  • defreturn으로 정의함

    예시1
    def f(a):
    	out = a % 7		#7로 나눈 나머지
      	return out
    
    f(123)				#함수 실행
    4					#결과
    
     예시2 (피보나치수열; 다음수는 바로앞 두 수의 합)
    def fi(input):
    	output = input + [input[-2] + input[-1]]
      	return output
          
    seq = [0,1]				#초기값 리스트
    fi(seq)					#함수적용
    [0,1,1,2,3,5,8,13,....]	#결과

3-2. 입력값이 여럿인 함수

  • 여러개 입력값 중 일부는 초기값을 미리 설정

  • 입력값 갯수가 안정해져 있을땐, 입력값 앞에 *를 붙이면 입력값을 모두모아서 튜플로 만들어줌

    예시1 (초기값을 설정)
    def f(a,b=10):
    	out = a + b
      	return out
    f(1)
    11
    f(1,b=5)	#초기값을 바꿔서 적용할수도 있음
    6
    
     예시2 (입력값이 안정해진경우)
    def f(*inputs):
    	sum = 0
    	for i in inputs:
      		sum += i
      	return sum

3-3. 결과값을 여러개로 반환하는 함수

  • return 제어문에서 여럿으로 지정하면 됨

    예시
    def f(a, b):			#함수정의
    	out1 = a + b
      	out2 = a * b
      	return out1,out2	#튜플로 출력
    
    f(3, 4)					#함수적용
    (7, 12)					#결과(튜플형태)
profile
Machine Learning Engineer ( AI Engineer )

0개의 댓글