반응형

안녕하세요.

저번 시간에는 파이썬 설치와 가상 환경을 구축하였습니다.

이번 시간에는 한 페이지로 보는 파이썬 기초와 예제를 다뤄 보겠습니다.

파이썬은 다른 언어에 비해서 배우기가 쉽습니다. 그렇다고 빠짐이 있는 부족한 언어가 아닙니다.

정말 많은 사람들이 프로그래밍을 작성할 수 있도록 만들어진 담백한 언어입니다.

물론 더욱 깊이 있게 학습을 하신다면 더 많은 학습을 하셔야 되지만 이 한 페이지 분량의 내용만 알고 있어도 프로그램을 작성하실 수 있겠습니다.

 

문법 설명은 1편, 2편으로 나눴습니다.

1편 (프로그래밍의 80%)

1. 변수 - 값을 받아 저장 하자
2. 분기문 - 조건에 따라서 분기를 시켜주자
3. 반복문 - 반복 작업을 불평 없이 한다

 

2편 (조금 더 편하게 그리고 아름답게 프로그래밍 하자)

4. 파이썬 데이터 - 값을 다양하게 저장하자

5. 클래스 - 작성한 코드를 재사용하자

 

1편부터 시작하겠습니다.

 

프로그래밍이라 함은 값을 계산하는 것이 프로그래밍입니다.

값을 받아서 저장하고, 조건에 따라서 분기를 시켜주고, 반복하며 계산하는 것이죠.

방금 말씀드린 작업들을 할 수 있도록 하나씩 하나씩 살펴보겠습니다.

 

1. 변수 - 값을 받아 저장 하자 :)

값을 저장하기 위해서는 공간을 필요로 합니다. 값을 아무 공간에 저장을 할 수는 없는 노릇입니다.

값을 저장한 공간을 기억하고 있다가 필요에 따라 그 값을 사용하게 됩니다.

이런 역할을 해주는 것이 변수입니다.

변수라 함은 값을 저장해놓은 공간이자 이름입니다. 변수가 어떤 모습인지 다음 코드를 보도록 하겠습니다.

one = 1
two = 2
my_name = 'jun'

딱 보면 직감적으로 알 수 있습니다. one이라는 곳에 1을 저장하고 있는 것 같고, two라는 곳에 2를 저장하는 것 같습니다. my_name이라는 곳에는 jun이라는 문자를 저장하고 있는 듯합니다.

네!! 맞습니다. 값들을 one, two  그리고 my_name이라는 곳에 저장을 합니다. 

one, two, my_name 이것을 변수라고 합니다. 필요로 하는 값을 저장해놓은 공간의 이름입니다.

변수를 최초에 위처럼 선언할 때 "변수를 초기화한다"라고 합니다. 용어로써 사용을 하니 참고해주세요.

 

변수를 초기화 한 이후에 또다시 사용할 수 있습니다. one이라는 변수에 다른 값을 넣는 것이죠.

one = 2
one = 50

one이라는 변수에 2라는 값도 대입을 해보고 50이라는 값을 대입해보았습니다.

 

실제로 파이썬 쉘을 열어서 변수에 값을 대입해보겠습니다.

(파이썬 쉘 창을 여는 방법은 이전 강의에서 학습을 했어요^^)

one이라는 변수에 처음에는 1 값을 대입하면 1 값이 저장되고, 100 값을 대입했더니 100이라는 값이 저장되었습니다.

이렇게 변수에 값을 저장해서 값을 사용을 하시는 겁니다.

 

변수에는 숫자 값뿐만 아니라 jun과 같은 문자도 저장이 가능하며

또한 참인지 거짓인지 표현할 수 있는 값도 저장이 됩니다. 이런 값을 Boolean이라고 합니다.

true_value = True
false_value = False

true_value와 false_value 변수가 2개 있습니다.

각각의 변수에는 참과 거짓을 표현할 수 있는 True와 False 값을 저장했습니다. True, False는 문자가 아닌 참과 거짓을 표현하는 파이썬 타입 중 하나입니다. 문자는 위의 jun을 변수에 저장하듯이 값에다가 작은(or 큰 - 둘 다 사용 가능) 따옴표를 씌어 주셔야 됩니다.

 

2. 분기문 - 조건에 따라서 분기를 시켜주자 :)

상황에 따라서 다르게 계산을 할 수 있는 분기문을 학습하겠습니다.

기본적으로 참이냐 거짓이냐에 따라서 분기시켜주는 모습을 보겠습니다.

if True:
	print('It is True')

분기문은 if라는 단어가 사용됩니다.

 

짚고 넘어가야 될 파이썬 문법 중 하나는 분기문이나 반복문 같은 지정어 표시 뒤에는 " : " 가 사용이 됩니다.

또 하나는 파이썬은 들여 쓰기에 민감합니다. if문 다음에 print는 들여 쓰기가 되어 있습니다. if문에 속하는 줄들은 if문 기준으로 들여 쓰기를 해주셔야 됩니다.

 

위의 코들 보시게 되면 if 문 뒤에 특정한 식이 오고 이 식이 참일 때 (현재는 무조건 참으로 작성) 다음 행동을 하게 됩니다. 지금은 참 조건이기 때문에 It is True라는 문자열이 출력이 되었습니다.

 

if False:
	print('It is True')
else:
	print('It is else')

if문에 False라는 boolean 값을 입력했습니다. 참이 아니기 때문에 'It is else'라는 문자열이 출력되겠습니다. else 부분은 조건에 참이 아닌 경우는 모두 else 부분에서 처리가 됩니다.

 

조건문에 True를 준 경우입니다. 참이기 때문에 It is True가 출력이 되었습니다. 참이 아닌 경우에는 else 구문으로 넘어가 It is else가 출력이 되겠습니다 :)

 

변수와 같이 사용한 분기문을 보도록 하겠습니다.

num = 10
if num > 0:
	print('num is bigger than 0')
else:
	print('num is smaller than 0')

num이라는 변수에 10을 대입했습니다. 조건문을 사용하여 num 값이 0 보다 큰 경우에는 'num is bigger than 0'이 출력이 되고 0보다 작은 경우는 'num i smaller than 0'이 출력이 됩니다.

 

조건문 예제를 하나만 더 보도록 하겠습니다.

num = 10
if num > 0:
	print('num is bigger than 0')
elif num == 0:
	print('num is 0')
else:
	print('num is smaller than 0')

중간에 elif num == 0 구문을 추가하였습니다. 직감적으로 알 수 있듯이 num이 0인 경우에는 num is 0을 출력하겠다는 구문을 추가한 것입니다.

 

3. 반복문 - 반복 작업을 불평 없이 한다 :)

컴퓨터는 반복 작업을 불평 없이 합니다. 수천,  수만 아니 사람이 할 수 없는 더 많은 반복 작업을 눈 깜빡하는 순간에 계산을 끝냅니다.

반복문 구문은 2가지가 있습니다. while문과 for문입니다. while문부터 살펴보겠습니다.

num = 0
while num <= 5:
	print(num)
	num += 1

num이라는 변수에 0으로 초기화하였습니다. 이제는 어느덧 변수가 익숙해지고 있는 걸 느끼실 겁니다.

while문을 보시게 되면 num 값이 0보다 작거나 같다면 num을 출력합니다. 이 부분이 반복에 조건입니다.

첫 번째 반복문에서는 num이 0보다 작아 print를 통해서 0을 출력합니다.

"num += 1" 구문은 "num = num + 1"구문의 축약형입니다. num 변수의 값을 +1 하겠다는 의미입니다.

그럼 num 값은 1이 되고 다시 반복문에 조건으로 올라가서 5보다 작거나 같은지 확인을 합니다.

조건이 참이 되면 반복문이 실행이 되고 num이 6이 되는 순간 반복문 조건에 맞지 않아 반복문을 벗어납니다.

위의 예제는 4보다 작거나 같은 경우에만 출력이 되고 num 값이 5가 되는 순간 반복문을 벗어납니다.

만약 num += 1이라는 줄이 없다면 어떻게 될까요?

num 은 계속 0이 될 것이고 끊임없이 0이 출력이 됩니다.

이를 무한루프라고 합니다. 컴퓨터의 리소스를 잡아먹는 귀신입니다. 무한루프에 빠지지 않도록 주의하셔야겠습니다.

 

for문을 살펴보겠습니다.

for i in range(0, 5):
	print(i)

i라는 for문에 사용하는 변수를 하나 입력해줍니다. i든 j든 임의 변수명을 작성해주시면 됩니다.

i라는 변수가 0 <= i < 5 범위에 속해 있는지 조건을 확인합니다. 조건에 충족이 되면 값을 출력합니다.

while문이랑 다른 점은 i 값이 자동적으로 증가됩니다.

i += 1이라는 조건을 명시하지 않아도 값이 자동으로 증가가 되는 겁니다.

 

실제로는 while문보다는 for문을 더 많이 사용합니다. 이점 참고 바랍니다.

 

이로써 변수, 조건문, 반복문 내용을 학습하였습니다.

지금까지 학습을 하셨다면 프로그래밍을 하기 위한 80%를 하신 겁니다.

정말로 코드를 보시면 대부분 위의 내용들로 코드가 작성되어 있습니다.

 

한 숨 돌리고 파이썬 데이터 구조와 클래스에 대해서 학습하도록 하겠습니다.

감사합니다.

반응형

+ Recent posts