IT 그리고 정보보안/Knowledge base

파이썬 함수와 제어문

plummmm 2021. 4. 13. 07:41
반응형

Python 함수

def [함수이름] (인자1, 인자2, ...)

수행문

 

요 형식으로 사용한다. 인자 개념에서 실인수, 가인수 그런게 있던데

함수 호출할 때 함수로 넘겨주는 인자가 실인수, 함수 선언할 때 적는 인자가 가인수

 

파이썬 함수의 좋은점은 

함수 선언할 때 인자의 자료형을 정해주지 않아도 된다는 점이다.

C언어에서는 int add(int a, int b) 뭐 이런 식으로 선언하여 약간은 한정적인 인자전달을 했던 반면에

파이썬은 동적인 인자전달이 가능하다. 이런걸 Dynamic Typing(동적인 형 결정) 이라고 부른다.

 

그리고 인자를 고정된 디폴트 값으로 줄 수도 있다. 모든 것은 예제로 보여주지.

 

 

Python 제어문

여타 언어들에도 있는 if문, for문, while문 등의 제어문들을 알아보겠다.

어떤 녀석들인지는 안다고 가정하고 문법 표기상으로 어떤 점이 다른지를 중점적으로 간략하게 보고 넘어가려 함.

 

1. if 문

 

if     [조건1]:

수행문1

elif   [조건2]:

수행문2

else [조건3]:

수행문3

 

앞서 포스팅한 들여쓰기에 유의하고.

딱히 설명할 것 없다.

 

 

2. for 문

 

for [타겟] in [객체]:

수행문1

else:

수행문2

 

반복문이다. 처음 보고 상당히 혁신(?)적인 변화를 체감했다. 하..이게 고급언어구나

for문을 쓰기위해 인티져 i 를 선언하여 숫자를 증가시키며 for문을 돌리던 c언어와 달리

객체 개념을 집어넣어 for문을 보다 쉽게 쓸 수 있도록 했다.

 

 

for문을 사용하는 몇가지 예제들을 통해 사용법을 알아보겠다.

 

2-1. 순차적으로 숫자를 반복

 

range() 객체를 이용하여 순차적인 숫자를 리스트로 바로 만들어낼 수 있다.

ps. print문 사용할 때 뒤에 ,(쉼표)를 찍으면 CRLF를 하지 않는다.

 

2-2. 1부터 10까지 합구하기

 

2-3. for문 내의 break, continue문 사용

 

break문: x가 5보다 크면 for문을 벗어난다.

continue문: x가 5보다 작으면 for문으로 다시 올라간다.

 

2-4. for ~ else 문 사용

for문에서 else가 튀어나오길래 당황했다. 이건뭐지?

여기서 else는 for문이 break 걸리는 일 없이 루프가 정상 종료되었을 때 수행되는 블록이다.

솔직히 굳이 왜쓰는지는 모르겠다.-_- 어디까지나 개인적인 생각.

 

3. while 문

 

while [조건]:

수행문1

else:

수행문2

 

for문과 마찬가지로 else문을 뒤에 갖는다.

while문은 for문과 다르게 객체를 사용하지 않는, 좀더 일반적인 반복문이라고 할 수 있다.

[조건]이 참인 동안 계속 반복하는 것은 누구나 아는 ^

 

반응형