반응형

 

안녕하세요, 왕초보 코린이를 위한 코딩유치원에 오신 것을 환영합니다.

 

 

[코딩유치원 기초문법 강의]

 

2021.03.09 - [파이썬 기초/기초 문법] - [코딩유치원] 파이썬 기초 문법 1편_프로그래밍과 코딩의 정의, 그리고 자료형

2021.03.11 - [파이썬 기초/기초 문법] - [코딩유치원] 파이썬 기초 문법 2편_문자열 자료형

2021.03.11 - [파이썬 기초/기초 문법] - [코딩유치원] 파이썬 기초 문법 3편_변수란 무엇일까?

2021.03.12 - [파이썬 기초/기초 문법] - [코딩유치원] 파이썬 기초 문법 4편_리스트 자료형

2021.03.12 - [파이썬 기초/기초 문법] - [코딩유치원] 파이썬 기초 문법 5편_튜플, 딕셔너리 자료형

2021.03.13 - [파이썬 기초/기초 문법] - [코딩유치원] 파이썬 기초 문법 6편_집합, 불 자료형

2021.03.14 - [파이썬 기초/기초 문법] - [코딩유치원] 파이썬 기초 문법 7편_제어문(if문)

2021.03.15 - [파이썬 기초/기초 문법] - [코딩유치원] 파이썬 기초 문법 8편_제어문(while문)

2021.03.16 - [파이썬 기초/기초 문법] - [코딩유치원] 파이썬 기초 문법 9편_제어문(for문)

2021.03.17 - [파이썬 기초/기초 문법] - [코딩유치원] 파이썬 기초 문법 10편_함수, 모듈, 패키지 개념 총정리

2021.03.18 - [파이썬 기초/기초 문법] - [코딩유치원] 파이썬 기초 문법 11편_함수 사용법

2021.03.19 - [파이썬 기초/기초 문법] - [코딩유치원] 파이썬 기초 문법 12편_모듈 사용법2021.03.14 - [파이썬 기초/기초 문법] - [코딩유치원] 파이썬 기초 문법 7편_제어문(if문)

 

 

코딩유치원에서는 기초 문법을 하나하나 자세히 다루기보다는 개념에 대해 간략히 설명하고 넘어갈 예정입니다.

마치 영어를 시작할 때, 문법만 주구장창 공부하다가 영어에 흥미를 잃어버리는 것과 같이 코딩도 마찬가지라고 생각하기 때문입니다.

문법을 자세히 다루는 곳은 구글에서 조금만 검색해도 많이 나올뿐만 아니라, 나중에 필요할 때마다 찾아보는 것이 더 효율적입니다!


 오늘은 3가지 제어문 중, while문에 대해서 공부해보겠습니다.


while문 기초

 

while은 한국어로 변역하면 "~하는 동안"입니다. 즉, 'while 조건문' = '조건문 하는 동안' = '조건문이 참인 동안'으로 해석할 수 있습니다.

빠른 이해를 위해서 코드를 보시겠습니다.

 

while 3 > 2:

    실행할 코드 1
    실행할 코드 2

 

이 코드를 해석하면 "3> 2 인 동안에 실행할 코드 1과 2를 계속 반복하겠다"라는 뜻입니다. 조금 감이 잡히시니요?

 

여기서 눈치가 빠르신 분들은 이런 생각을 하셨을텐데요.

 

"3 > 2는 항상 참이니깐 무한히 반복하겠네?"

 

네, 맞습니다! 3 > 2는 앞서 배웠던 불 자료형의 True와 같습니다. 이런 것을 무한루프라고 합니다.

 

그렇다면 while문을 어떻게 무한루프가 아니게 만들 수 있을까요? 바로 이렇게 하시면 됩니다.

 

a = 0

while a < 5:     # 가장 처음 a = 0이므로 조건이 참

    a = a + 1    # a = 0 + 1
    print(a)     # print(1)
    
<결과>
1
2
3
4
5

 

위의 코드가 어떻게 실행되는지 차례대로 설명해보겠습니다. 차근차근 코드를 씹고 뜯고 맛보고 즐겨보세요!

 

1) 가장 처음 a=0으로 a라는 변수를 설정해주고 0이라는 값을 대입해줍니다.

2) while문에 진입하여 조건문 (a < 5)의 참/거짓을 판단합니다.

3) a = 0이므로 참으로 판단합니다.

4) 변수 a에 현재 a가 가지고 있는 값 + 1을 대입

    ( '=' 을 기준으로 좌항은 항상 변수를 뜻하며 우항은 현재 가지고 있는 값을 뜻함)

5) print() 함수로 a의 현재값을 출력

6) while문 안의 실행할 코드가 끝났으므로 다시 while문의 처음으로 돌아가서 조건문의 참/거짓을 판단

7) 현재 a에 들어있는 값은 1이므로 1 < 5는 참

8) 이런 식으로 계속 a를 1씩 증가, a의 현재 값을 출력

9) 그러다가 5가 출력된 후에 다시 while문으로 돌아갔을 때 조건문이 5 < 5가 되어 거짓

10) while문을 빠져나옴 (while문 다음에 코드가 있다면 이어서 실행하며 없다면 프로그램을 종료)

 

 

while문의 쓰임

사실 위의 예는 while문을 제대로 활용한 것이 아닙니다. 왜냐하면 보통 반복횟수가 정해져있는 경우는 다음 시간에 배울 for문을 사용하는 것이 일반적이기 때문입니다. 그렇다면 while문은 언제 사용하기 위해 만들어 진 것일까요?

 

바로 언제 끝날지 예측하기 힘들 때 혹은 무한히 실행할 코드가 있을 때 while문을 사용합니다.

 

현실에서 while문을 사용하는 예는 무엇일까요?

 

저는 오락실의 게임기가 생각이 납니다. 게임기는 사람이 있으나 없으나 계속 켜져있죠. 그러다가 동전(입력)을 넣을 때 게임이 시작됩니다.

계속해서 무한루프를 돌면서 동전이 들어오는지 확인하다가, while문 안의 if문으로 게임을 실행시킬 것이라 짐작되네요.

 

제가 생각했던 예를 아주 단순화 시켜보면 아래와 같은 코드로 표현해볼 수 있겠네요.

 

while True:
    
    게임 화면 자동 재생
    
    if 동전 투입구에 동전을 넣으면
        게임 시작!

 

 

break와 continue

while문에는 치트키 같은 명령어들이 존재합니다. 이 치트키들을 코드에 넣어두면 모든 법칙을 무시하고 어떤 명령을 수행하게됩니다.

 

break

while문을 즉시 빠져나가고 다음 코드를 이어서 실행

energy = 100

while True:
    
    누나가 외출한동안 누나집에서 조카와 놀아준다
    energy = energy - 1
    
    if energy == 0:
        누나한테 전화해서 빨리오라고 한다
    
    if 누나가 돌아오면:
        break
        
집으로 돌아간다
print("어우 힘들어")

 

 

continue

while문의 처음으로 돌아가서 조건문의 참/거짓을 판단

#잠이 오질 않아서 양을 짝수로 세어보기로 했다..

sheep = 0

while sheep < 10000:
    
    sheep = sheep + 1
    
    if sheep % 2 == 1:     # sheep을 2로 나눠서 그 나머지가 1이면 참 (홀수라는 말)
        continue           # 다시 while문으로 돌아가서 조건문 판단 (이때, sheep은 1씩 계속 더해진 상태)
    
    print("양 %d마리" %sheep)
    
    if 잠들면:
        break

 

결과는 지금 껏 배운 지식을 이용해서 예측해보시길 바랍니다.

 


오늘 준비한 내용은 여기까지입니다.

 

다음 시간에는 for문에 대해서 공부해보겠습니다.

반응형
반응형

안녕하세요, 왕초보 코린이를 위한 코딩유치원에 오신 것을 환영합니다.

 

 

[코딩유치원 기초문법 강의]

 

2021.03.09 - [파이썬 기초/기초 문법] - [코딩유치원] 파이썬 기초 문법 1편_프로그래밍과 코딩의 정의, 그리고 자료형

2021.03.11 - [파이썬 기초/기초 문법] - [코딩유치원] 파이썬 기초 문법 2편_문자열 자료형

2021.03.11 - [파이썬 기초/기초 문법] - [코딩유치원] 파이썬 기초 문법 3편_변수란 무엇일까?

2021.03.12 - [파이썬 기초/기초 문법] - [코딩유치원] 파이썬 기초 문법 4편_리스트 자료형

2021.03.12 - [파이썬 기초/기초 문법] - [코딩유치원] 파이썬 기초 문법 5편_튜플, 딕셔너리 자료형

2021.03.13 - [파이썬 기초/기초 문법] - [코딩유치원] 파이썬 기초 문법 6편_집합, 불 자료형

2021.03.14 - [파이썬 기초/기초 문법] - [코딩유치원] 파이썬 기초 문법 7편_제어문(if문)

2021.03.15 - [파이썬 기초/기초 문법] - [코딩유치원] 파이썬 기초 문법 8편_제어문(while문)

2021.03.16 - [파이썬 기초/기초 문법] - [코딩유치원] 파이썬 기초 문법 9편_제어문(for문)

2021.03.17 - [파이썬 기초/기초 문법] - [코딩유치원] 파이썬 기초 문법 10편_함수, 모듈, 패키지 개념 총정리

2021.03.18 - [파이썬 기초/기초 문법] - [코딩유치원] 파이썬 기초 문법 11편_함수 사용법

2021.03.19 - [파이썬 기초/기초 문법] - [코딩유치원] 파이썬 기초 문법 12편_모듈 사용법

 

코딩유치원에서는 기초 문법을 하나하나 자세히 다루기보다는 개념에 대해 간략히 설명하고 넘어갈 예정입니다.

마치 영어를 시작할 때, 문법만 주구장창 공부하다가 영어에 흥미를 잃어버리는 것과 같이 코딩도 마찬가지라고 생각하기 때문입니다.

문법을 자세히 다루는 곳은 구글에서 조금만 검색해도 많이 나올뿐만 아니라, 나중에 필요할 때마다 찾아보는 것이 더 효율적입니다!


지난시간 드디어 자료형을 끝내고 오늘부터는 프로그램 구조의 뼈대가 되는 제어문에 대해서 공부해보겠습니다.


제어문

오늘부터 세 편에 걸쳐서 제어문에 대해 공부해볼텐데요. 제어문에는 if, while, for 제어문이 있습니다. 간략히 이 세 가지의 제어문에 대해서 설명한 다음, 차례대로 자세하게 다루어보도록 하겠습니다.

 

C언어에서의 제어문 (출처. pixabay)

 

if문

- 어떤 조건이 True냐 False냐를 판단한 후, 판단 결과에 따라 의도된 코드를 실행할 때 사용하는 제어문

- 판단 결과가 참이든 거짓이든 의도된 코드를 실행한 후, 다음 코드를 실행

 

while문

- 어떤 조건이 참일 때, 의도된 행동을 반복시키기 위해 사용하는 제어문

- 코드가 계속 실행되다가 조건이 거짓이 될 때, while문을 빠져나가서 다음 코드를 실행

 

for문

- 같은 코드를 원하는 만큼 반복하기 위해 사용하는 제어문

- 위의 두 제어문과 달리 어떠한 조건을 판단하지 않는 것이 특징

 

 

If문

if은 한글로 번역하면 '만약에'입니다. 우리는 살면서 종종 이런 말을 합니다.

 

"만약에 내가 복권에 당첨되면, 집을 사고, 차를 살거야"

 

이 말을 파이썬 if문으로 바꾸어보겠습니다.

if 복권에 당첨되면:
   print("집을 산다")
   print("차를 산다")

 

이렇게 우리는 어떤 상황이 일어난다면, 다음 행동으로 무엇을 할지 생각하고는 합니다. 미리 생각해두지 않는다면 당황할 것이고, 즉각적으로 행동하지 못할 것입니다.

 

컴퓨터는 어떨까요? 컴퓨터는 스스로 생각하지 못하기 때문에 사람이 직접 일어날 법한 일들을 예상하고, 그에 따라 컴퓨터가 어떠한 행동을 수행할 수 있도록 코드로 작성해주어야 합니다. 그것이 곧 프로그래밍이라고 할 수 있습니다.

 

If문의 기본 구조

 

if문의 기본 구조는 아래와 같습니다.

 

if 조건문:
    수행할 코드 1     
    수행할 코드 2     
   
else:
    수행할 코드 3
    수행할 코드 4
   

 

if라는 것은 위에서 봐서 알겠는데 else라는 것은 무엇일까요? 우리는 상황이 의도대로 흘러가지 않는 경우, "Plan B를 실행한다"라는 말을 하곤 하죠. else가 바로 상황이 의도대로 흘러가지 않은 경우(조건이 거짓일 때)를 의미하며, 그 아래의 수행할 코드들이 plan B가 되는 것입니다.

 

elif문

 

만약 Plan C, Plan D까지 생각해두고 싶다면 어떻게 해야할까요? 이 역시 파이썬에서 elif라는 개념을 준비해두었습니다.

elif엔 else와 다르게 조건문이 필요한 것 주의하세요!

if 조건문1:
    수행할 코드 1     
    수행할 코드 2    
   
elif 조건문2:        #elif에 갯수 제한은 없음
    수행할 코드 3
    수행할 코드 4
    
elif 조건문3:
    수행할 코드 5
    수행할 코드 6
    
else:              #마지막은 반드시 else
    pass           #pass는 아무것도 실행하고 싶지 않을 때 넣어줌. (아무것도 안넣으면 error)
   

참고로, 어떤 조건이 참일 때, 아무것도 실행시키고 싶지 않을 때는 pass 명령어를 입력해줍니다.

 

조건문

조건문이란 참과 거짓을 판단하는 문장을 뜻합니다. 조건문은 아무리 복잡해도 결국 True/False  둘 중 하나인 불 자료형입니다.

 

 

1) 비교연산자

x < y x가 y보다 작다
x > y x가 y보다 크다
x <= y x가 y보다 작거나 같다
x >= y x가 y보다 크거나 같다
x == y x와 y가 같다
x != y x와 y가 같지 않다

 

age = 31

if age >= 30:      # 조건문
    print("내가 30대라니..")
    
else:
    print("아직 20대!")
    

 

 

2) and, or, not

x and y x와 y 모두 참이어야지 참이다
x or y x와 y 둘 중에 하나라도 참이면 참이다
not x x가 거짓이면 참이다

 

a = 1
b = 2

if a==1 or b>2:      # a가 1이거나 b가 2보다 크면 참
    print("재밌는 예가 안떠올라..")
    
else:
    print("나중에 떠오르면 예시 바꿔야지")
    

 

If문 사용 시 주의점

if문에 익숙하지 않을 때 자주하는 실수는 크게 2가지 입니다. if문을 작성했는데 에러가 난다면 아래 사항들을 확인해보세요.

 

1) 조건문 끝에 :(콜론)을 붙이지 않음

    --> 터미널 창에 invalid syntax(불가능한 구문)이 출력됨

 

2) 수행할 코드의 들여쓰기(Indentation) 불량

     --> 터미널 창에 unexpected indent(예기치 못한 들여쓰기)라고 출력됨

 

참고로, 들여쓰기는 스페이스 한 번만 해도 작동을 하지만 통상적으로 스페이스 4번을 사용합니다.

우리가 사용하고 있는 VS Code는 if문을 작성하고 엔터를 치면, 자동으로 들여쓰기를 해준다는 점 참고하세요.

 


 

오늘은 3가지 제어문 중에 if문에 대해서 배워보았습니다.

 

if문은 자료형 만큼이나 중요한 기초이므로 꼭 이해하고 넘어가시면 좋겠습니다.

 

오늘도 공부하시느라 고생많으셨습니다~!

 

 

반응형
반응형

안녕하세요, 왕초보 코린이를 위한 코딩유치원에 오신 것을 환영합니다.

 

 

[코딩유치원 기초문법 강의]

 

2021.03.09 - [파이썬 기초/기초 문법] - [코딩유치원] 파이썬 기초 문법 1편_프로그래밍과 코딩의 정의, 그리고 자료형

2021.03.11 - [파이썬 기초/기초 문법] - [코딩유치원] 파이썬 기초 문법 2편_문자열 자료형

2021.03.11 - [파이썬 기초/기초 문법] - [코딩유치원] 파이썬 기초 문법 3편_변수란 무엇일까?

2021.03.12 - [파이썬 기초/기초 문법] - [코딩유치원] 파이썬 기초 문법 4편_리스트 자료형

2021.03.12 - [파이썬 기초/기초 문법] - [코딩유치원] 파이썬 기초 문법 5편_튜플, 딕셔너리 자료형

2021.03.13 - [파이썬 기초/기초 문법] - [코딩유치원] 파이썬 기초 문법 6편_집합, 불 자료형

2021.03.14 - [파이썬 기초/기초 문법] - [코딩유치원] 파이썬 기초 문법 7편_제어문(if문)

2021.03.15 - [파이썬 기초/기초 문법] - [코딩유치원] 파이썬 기초 문법 8편_제어문(while문)

2021.03.16 - [파이썬 기초/기초 문법] - [코딩유치원] 파이썬 기초 문법 9편_제어문(for문)

2021.03.17 - [파이썬 기초/기초 문법] - [코딩유치원] 파이썬 기초 문법 10편_함수, 모듈, 패키지 개념 총정리

2021.03.18 - [파이썬 기초/기초 문법] - [코딩유치원] 파이썬 기초 문법 11편_함수 사용법

2021.03.19 - [파이썬 기초/기초 문법] - [코딩유치원] 파이썬 기초 문법 12편_모듈 사용법

 

코딩유치원에서는 기초 문법을 하나하나 자세히 다루기보다는 개념에 대해 간략히 설명하고 넘어갈 예정입니다.

마치 영어를 시작할 때, 문법만 주구장창 공부하다가 영어에 흥미를 잃어버리는 것과 같이 코딩도 마찬가지라고 생각하기 때문입니다.

문법을 자세히 다루는 곳은 구글에서 조금만 검색해도 많이 나올뿐만 아니라, 나중에 필요할 때마다 찾아보는 것이 더 효율적입니다!


오늘은 튜플과 딕셔너리 자료형에 이어서 집합과 불 자료형에 대해서 공부해보겠습니다.


집합 자료형

 

 

집합 자료형은 집합 계산(교집합, 차집합, 합집합)을 사용하기 위해 만들어진 자료형입니다. 

집합 자료형의 특징은 딕셔너리와 같은 면이 있어요. 바로 중복 불가순서가 없다(인덱싱 불가)는 점이죠. 그래서 그런지 요소를 감싸는 괄호를 딕셔너리와 같이 { } 중괄호를 사용한답니다.

 

a = {1, 2, 3}   # set의 형태

b = {1, 2, 3, 1}

print(b)
>>> {1, 2, 3}   # set의 중복불가 특성

 

집합 자료형의 쓰임

집합 자료형은 사실 앞서 말씀 드렸듯이 집합 계산이나 자료의 중복을 걸러주기 위해서 사용합니다. 이 때, 처리가 필요한 자료들은 위에서 처럼 직접 만들어서 사용하기 보다는 계산이 필요한 리스트나 튜플을 집합 자료형으로 만들어서 사용하게 됩니다.

 

a = set([1, 2, 3])   # set() 내장함수로 리스트를 set로 변환

b = set((3,4,5))     # set() 내장함수로 튜플을 set로 변환

print(a)
>>> {1,2,3}

print(b)
>>> {3,4,5}

print(a&b)   #교집합 연산
>>> {3}

print(a|b)   #합집합 연산
>>> {1,2,3,4,5}

print(a-b)   #차집합 연산
>>> {1,2}

print(b-a)   #차집합 연산
>>> {4,5}

 

만약 set를 다시 리스트와 튜플로 만들고 싶으시다면 set를 만드셨을 때 처럼 list()함수와 tuple()함수를 사용해보세요.

a = {1,2,3,4}

b = list(a)
>>> [1,2,3,4]

c = tuple(a)
>>> (1,2,3,4)

참고로, 리스트를 튜플로 튜플을 리스트로도 만들 수 있으니 궁금하신 분들은 직접 코딩해서 확인해보세요.

 

 

불 자료형

 

 

 

불(bool) 자료형이란 한마디로 참/거짓 자료형입니다. 진실게임을 하는 것도 아니고 무슨 참(True)거짓(False)을 자료형으로 만들었을까 하는 생각이 드실 수도 있으실텐데요. 이런 의문을 해결하기 위해서는 컴퓨터에 대해서 조금 알아볼 필요가 있습니다.

 

컴퓨터는 우리 아날로그 세계와는 다르게 세상을 디지털, 즉 0과 1로 바라봅니다. 우리가 작성한 코드가 결국에는 0과 1로 변환되어서 컴퓨터에 전달된다고 생각하셔도 무방합니다. 쉽게 말해, 컴퓨터에게는 0과 1이 가장 알아듣기 쉬운 형태라는 것입니다. 

 

앞으로 우리는 아래 그림과 같이 알고리즘이란 구조를 만들어서 프로그래밍을 할 것입니다. 알고리즘에는 수 많은 판단이 들어가게 되는데 그 결과를 0과 1의 형태로 출력해 줄 것입니다. 참고로, 입력(Input)과 출력(Output)은 우리가 앞서 배웠던 자료형들이 될 것이구요. 

 

알고리즘(Algorithm)

어떠한 문제를 해결하기 위해 정해진 일련의 절차나 방법을 공식화한 형태

 

배고플 때의 알고리즘 (feat. 한땀한땀 파워포인트로 작성)

 

불 자료형 예시

print(2 < 3)
>>> True

print(2 > 3)
>>> False

print(3 == 3)
>>> True

3 == 3은 3이 3과 같냐고 물어보는 것입니다. 그냥 = 하나만 하는 것은 변수에 자료형을 대입할 때 말고는 사용하지 않으니 주의하세요!

 

 

자료형의 참/거짓

 

당장 깊이 알아둘 필요는 없지만 앞에서 배웠던 자료형들에도 참과 거짓이 있습니다. 자료가 존재하면 참, 자료가 존재하지 않으면 거짓입니다. 무슨 말인지 코드로 한 번 보시죠.

#bool() 함수로 True/False 판단
#당연히 값을 확인하려면 print()로 감싸주어야 하는거 아시죠?!

<True인 자료형>

bool(1)        # 0을 제외한 모든 숫자
bool("hello")  # 문자열
bool([1,2])    # 리스트
bool((1,2))    # 튜플
bool({'Key':'Value'}) #딕셔너리


<False인 자료형>

bool(0)        # 숫자 0
bool("")       # 비어있는 문자열
bool([])    # 비어있는 리스트
bool(())    # 비어있는 튜플
bool({})       # 비어있는 딕셔너리

 

오늘로써 파이썬 프로그래밍에서 가장 기본이 되는 자료형에 대해 모두 다루어 보았습니다.

 

지금까지 지루하실 수도 있는 자료형을 공부하시느라 고생하많으셨고, 다음 시간부터는 알고리즘의 가장 기본 구조인 if, while, for문에 대해서 공부해보겠습니다.

반응형
반응형

안녕하세요, 왕초보 코린이를 위한 코딩유치원에 오신 것을 환영합니다.

 

 

[코딩유치원 기초문법 강의]

 

2021.03.09 - [파이썬 기초/기초 문법] - [코딩유치원] 파이썬 기초 문법 1편_프로그래밍과 코딩의 정의, 그리고 자료형

2021.03.11 - [파이썬 기초/기초 문법] - [코딩유치원] 파이썬 기초 문법 2편_문자열 자료형

2021.03.11 - [파이썬 기초/기초 문법] - [코딩유치원] 파이썬 기초 문법 3편_변수란 무엇일까?

2021.03.12 - [파이썬 기초/기초 문법] - [코딩유치원] 파이썬 기초 문법 4편_리스트 자료형

2021.03.12 - [파이썬 기초/기초 문법] - [코딩유치원] 파이썬 기초 문법 5편_튜플, 딕셔너리 자료형

2021.03.13 - [파이썬 기초/기초 문법] - [코딩유치원] 파이썬 기초 문법 6편_집합, 불 자료형

2021.03.14 - [파이썬 기초/기초 문법] - [코딩유치원] 파이썬 기초 문법 7편_제어문(if문)

2021.03.15 - [파이썬 기초/기초 문법] - [코딩유치원] 파이썬 기초 문법 8편_제어문(while문)

2021.03.16 - [파이썬 기초/기초 문법] - [코딩유치원] 파이썬 기초 문법 9편_제어문(for문)

2021.03.17 - [파이썬 기초/기초 문법] - [코딩유치원] 파이썬 기초 문법 10편_함수, 모듈, 패키지 개념 총정리

2021.03.18 - [파이썬 기초/기초 문법] - [코딩유치원] 파이썬 기초 문법 11편_함수 사용법

2021.03.19 - [파이썬 기초/기초 문법] - [코딩유치원] 파이썬 기초 문법 12편_모듈 사용법2021.03.12 - [파이썬 기초/기초 문법] - [코딩유치원] 파이썬 기초 문법 4편_리스트 자료형

 

 

코딩유치원에서는 기초 문법을 하나하나 자세히 다루기보다는 개념에 대해 간략히 설명하고 넘어갈 예정입니다.

마치 영어를 시작할 때, 문법만 주구장창 공부하다가 영어에 흥미를 잃어버리는 것과 같이 코딩도 마찬가지라고 생각하기 때문입니다.

문법을 자세히 다루는 곳은 구글에서 조금만 검색해도 많이 나올뿐만 아니라, 나중에 필요할 때마다 찾아보는 것이 더 효율적입니다!


오늘은 리스트 자료형에 이어서 튜플과 딕셔너리 자료형에 대해서 공부해보겠습니다.

 

튜플 (Tuple)

 

튜플은 리스트와 거의 같습니다. 그래서 차이점과 언제 사용하는지만 간단히 설명해보려 합니다.

a = ()
b = (1,)     # 리스트와 다르게 하나만 쓸 때는 콤마를 써줘야함
c = (1,2,3)
  =  1,2,3   # 괄호를 생략해도 튜플로 생성

 

리스트와 튜플의 주요 차이점

 

리스트: [ ]로 감싼다, 수정이 가능하다

튜플: ( )로 감싼다, 수정이 불가능하다

 

 

튜플을 사용하는 이유

 

리스트와 비슷한 튜플이란 개념을 굳이 만들어서 사용하는 이유는 수정이 불가능하다는 특성 때문입니다.

프로그램을 작성하면서 값이 변화하지 않기를 바라는 부분은 리스트 대신 튜플을 사용해보시길 추천드립니다.

 

 

딕셔너리 (Dictionary)

 

딕셔너리의 특징

 

딕셔너리는 앞서 배운 리스트와 튜플과는 다소 다른 특징을 갖고 있습니다.

 

1) 요소가 Key:Value의 한쌍으로 이루어져있다

2) Key를 이용하여 인덱싱한다 --> 순서가 중요하지 않다

3) Key가 중복되면 자동으로 그 중 가장 마지막에 있는 것만 남기고 없앤다

 

딕셔너리 기본 형태 = {Key1:Value1, Key2:Value2, ...}
dic = {'name':'손생', 'age':'31'}

a = {1: 'a', 1:'b', 1:'c'}  #의도적으로 딕셔너리 key 중복입력

print(a)
>>> {1:'c'}

 

여기서 알아두셔야할 것은 Key는 수정이 불가하고 Value는 수정이 불가하거나 가능하게 설정할 수 있다는 것입니다.

그리고 Value에는 앞서 배운 모든 자료형들을 입력할 수 있지만, Key에는 리스트, 튜플 자료형은 입력 불가합니다.

 

 

딕셔너리의 쓰임

 

딕셔너리는 언제 사용할까요? 저는 아직 웹 개발까지는 해보지 못해서 잘 모르지만, 웹/앱에서 사용하는 Json이라는 데이터 교환 표준을 다룰 때 주로 사용한다고 합니다. Json은 추후 웹 개발을 공부하면서 포스팅 해보도록 하겠습니다.

 

Json(JavaScript Object Notation) : 데이터를 쉽고 빠르게 교환하기 위해 만들어진 텍스트 기반 데이터 교환 표준

 

Jason의 형태는 아래와 같습니다. 딕셔너리와 비슷하죠?

 

#Jason 형식

{
    "name": "손생",
    "age": 31,
    "weight": 65
}

 

딕셔너리 다루기

 

딕셔너리에 요소를 추가하기 위해서는 아래와 같이 딕셔너리[Key] = Value로 입력하면 됩니다.

 

a = {1:'name', 2:'age'}
a[3] = 'weight'

print(a)
>>> {1:'name', 2:'age', 3:'weight}

 

딕셔너리에서 요소를 삭제하기 위해서는 del 딕셔너리[Key]로 입력하면 됩니다.

a = {1:'name', 2:'age', 3:'weight}
del a[1]

print(a)
>>> {2:'age', 3:'weight}

 


오늘은 튜플과 리스트 자료형에 대해 알아보았습니다.

다음 시간에는 나머지 자료형인 집합 자료형과 불 자료형에 대해서 다루어 보도록 하겠습니다.

 

감사합니다.

반응형
반응형

안녕하세요, 왕초보 코린이를 위한 코딩유치원에 오신 것을 환영합니다.

 

 

[코딩유치원 기초문법 강의]

 

2021.03.09 - [파이썬 기초/기초 문법] - [코딩유치원] 파이썬 기초 문법 1편_프로그래밍과 코딩의 정의, 그리고 자료형

2021.03.11 - [파이썬 기초/기초 문법] - [코딩유치원] 파이썬 기초 문법 2편_문자열 자료형

2021.03.11 - [파이썬 기초/기초 문법] - [코딩유치원] 파이썬 기초 문법 3편_변수란 무엇일까?

2021.03.12 - [파이썬 기초/기초 문법] - [코딩유치원] 파이썬 기초 문법 4편_리스트 자료형

2021.03.12 - [파이썬 기초/기초 문법] - [코딩유치원] 파이썬 기초 문법 5편_튜플, 딕셔너리 자료형

2021.03.13 - [파이썬 기초/기초 문법] - [코딩유치원] 파이썬 기초 문법 6편_집합, 불 자료형

2021.03.14 - [파이썬 기초/기초 문법] - [코딩유치원] 파이썬 기초 문법 7편_제어문(if문)

2021.03.15 - [파이썬 기초/기초 문법] - [코딩유치원] 파이썬 기초 문법 8편_제어문(while문)

2021.03.16 - [파이썬 기초/기초 문법] - [코딩유치원] 파이썬 기초 문법 9편_제어문(for문)

2021.03.17 - [파이썬 기초/기초 문법] - [코딩유치원] 파이썬 기초 문법 10편_함수, 모듈, 패키지 개념 총정리

2021.03.18 - [파이썬 기초/기초 문법] - [코딩유치원] 파이썬 기초 문법 11편_함수 사용법

2021.03.19 - [파이썬 기초/기초 문법] - [코딩유치원] 파이썬 기초 문법 12편_모듈 사용법2021.03.12 - [파이썬 기초/기초 문법] - [코딩유치원] 파이썬 기초 문법 4편_리스트 자료형

 

 

코딩유치원에서는 기초 문법을 하나하나 자세히 다루기보다는 개념에 대해 간략히 설명하고 넘어갈 예정입니다.

마치 영어를 시작할 때, 문법만 주구장창 공부하다가 영어에 흥미를 잃어버리는 것과 같이 코딩도 마찬가지라고 생각하기 때문입니다.

문법을 자세히 다루는 곳은 구글에서 조금만 검색해도 많이 나올뿐만 아니라, 나중에 필요할 때마다 찾아보는 것이 더 효율적입니다!


오늘은 문자형 자료형에 이어서 리스트 자료형에 대해서 공부해보겠습니다.

 

리스트란 무엇일까?

 

지난 강의(파이썬 기초 문법 1편)에서 자료형 중에서 꾸러미 자료형이 있다고 잠시 말씀드렸습니다. 앞서 배웠던 숫자, 문자열 자료형을 여러개를 한꺼번에 묶어서 담아두는 것을 상상해보시면 좋을 것 같아요. 아래 사진을 바탕으로 설명드리면 유리병과 그 내용물을 하나의 숫자 혹은 문자열 같은 개별 자료형이라고 한다면, 이걸 정렬해서 보관할 수 있는 나무상자꾸러미 자료형이라고 생각하면 됩니다.

 

 

이러한 꾸러미 자료형은 리스트, 튜플, 딕셔너리, 집합으로 4가지가 있으며, 오늘 배워볼 것이 그 중 가장 많이 사용되는 리스트입니다.

 

리스트 만드는 법

 

리스트를 만드는 방법은 간단합니다. 우리가 지금까지 공부했던 자료형을 대괄호 [ ] 사이에 넣어주면 됩니다. 그 갯수는 제한이 없으며, 여러개 일 때는 콤마로 구분해줍니다. 보통 리스트는 지난 시간 배웠던 변수로 설정해서 사용합니다.

a = []
b = [1,2,3,4]
c = ['hello', 'python']

참고로, 숫자, 문자열 섞어서 리스트 안에 넣어줄 수 있을뿐만 아니라 리스트도 리스트 안에 넣는 것이 가능합니다.

 

리스트 인덱싱과 슬라이싱

 

인덱싱은 리스트 안의 객체들을 딱 집어서 가리킬 때 사용합니다.

문자열 인덱싱과 매우 비슷하니깐 앞서 문자열 인덱싱을 공부하신 분들이라면 이해하기 매우 쉬우실거에요.

list = [1,'hello',[2,3,4]]

print(list[0])
>>> 1

print(list[-1])
>>> [2,3,4]

 

만약  리스트 안의 숫자 4를 인덱싱 하고 싶다면 아래 코드처럼 하시면 됩니다. 인덱싱 한것에서 인덱싱을 해주는 느낌!

print(list[2][2])
>>> 4

 

슬라이싱도 문자열 인덱싱과 같으므로 자세한 설명은 생략하고 넘어가겠습니다.

print(list[:]) 
>>> [1,'hello',[2,3,4]]

 

리스트 수정

 

앞에서 배웠던 인덱싱과 슬라이싱을 이용해서 원하는 요소를 수정하거나 삭제 가능합니다.

a = [1,3,5]
a[0] = 2    # 리스트 a의 0번 인덱스의 요소를 2로 바꿔줌
print(a)
>>> [2,3,5]

b = [1,2,3]
del b[2]    # 리스트 b의 2번 인덱스의 요소를 삭제
print(b)
>>> [1,2]

c = [1,2,3,4,5,6,7]
del c[2:5]  # 리스트 c의 2,3,4번 인덱스 요소를 삭제
print(c)
>>> [1,2,6,7]

 

리스트 연산

 

리스트 더하기(+)

 

리스트는 + 기호로 두 리스트의 요소를 합칠 수 있습니다. 더하는 순서에 따라 리스트 요소의 순서가 결정되니 주의하세요.

a = [8,10,15]
b = [1,2,3]

print(a+b) 
>>> [8,10,15,1,2,3]

print(b+a)
>>> [1,2,3,8,10,15]

 

리스트 반복하기(*)

 

리스트에 숫자를 곱하면 값이 곱해지는 것이 아니라 곱한 숫자만큼 리스트의 요소들이 반복됩니다.

b = [1,2,3]


print(5*b)
>>> [1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3]

 


 

오늘은 리스트에 대해서 공부해 보았는데요. 리스트의 개념은 앞으로 파이썬 코딩 할 때 많이 사용되니 확실히 이해하고 넘어가시면 좋겠습니다. 다음 시간에는 튜플과 딕셔너리에 대해서 공부해 보겠습니다.

반응형
반응형

안녕하세요, 왕초보 코린이를 위한 코딩유치원에 오신 것을 환영합니다.

 

 

오늘은 지난 시간의 문자형 자료형에 이어서 변수에 대해서 공부해보겠습니다.

 

[코딩유치원 기초문법 강의]

 

2021.03.09 - [파이썬 기초/기초 문법] - [코딩유치원] 파이썬 기초 문법 1편_프로그래밍과 코딩의 정의, 그리고 자료형

2021.03.11 - [파이썬 기초/기초 문법] - [코딩유치원] 파이썬 기초 문법 2편_문자열 자료형

2021.03.11 - [파이썬 기초/기초 문법] - [코딩유치원] 파이썬 기초 문법 3편_변수란 무엇일까?

2021.03.12 - [파이썬 기초/기초 문법] - [코딩유치원] 파이썬 기초 문법 4편_리스트 자료형

2021.03.12 - [파이썬 기초/기초 문법] - [코딩유치원] 파이썬 기초 문법 5편_튜플, 딕셔너리 자료형

2021.03.13 - [파이썬 기초/기초 문법] - [코딩유치원] 파이썬 기초 문법 6편_집합, 불 자료형

2021.03.14 - [파이썬 기초/기초 문법] - [코딩유치원] 파이썬 기초 문법 7편_제어문(if문)

2021.03.15 - [파이썬 기초/기초 문법] - [코딩유치원] 파이썬 기초 문법 8편_제어문(while문)

2021.03.16 - [파이썬 기초/기초 문법] - [코딩유치원] 파이썬 기초 문법 9편_제어문(for문)

2021.03.17 - [파이썬 기초/기초 문법] - [코딩유치원] 파이썬 기초 문법 10편_함수, 모듈, 패키지 개념 총정리

2021.03.18 - [파이썬 기초/기초 문법] - [코딩유치원] 파이썬 기초 문법 11편_함수 사용법

2021.03.19 - [파이썬 기초/기초 문법] - [코딩유치원] 파이썬 기초 문법 12편_모듈 사용법

 

코딩유치원에서는 기초 문법을 하나하나 자세히 다루기보다는 개념에 대해 간략히 설명하고 넘어갈 예정입니다.

마치 영어를 시작할 때, 문법만 주구장창 공부하다가 영어에 흥미를 잃어버리는 것과 같이 코딩도 마찬가지라고 생각하기 때문입니다.

문법을 자세히 다루는 곳은 구글에서 조금만 검색해도 많이 나올뿐만 아니라, 나중에 필요할 때마다 찾아보는 것이 더 효율적입니다!


변수의 정의

 

우리는 지금까지 파이썬 기초 문법을 공부하면서 잠깐잠깐 변수라는 개념을 다루어 왔습니다. 아래의 코드에서 a와 time이 변수입니다.

a = 'hello python'
time = 7

 

효율적인 코딩을 위해서는 변수의 개념에 익숙해지셔야 하는데요. 지금부터 변수라는 것에 대해 최대한 쉽게 설명해 보겠습니다.

 

변수를 한마디로 설명하면, 객체(문자열이나 숫자, 리스트 등의 자료형)를 담는 그릇입니다.

엄밀히 말하면 그릇이 저장된 컴퓨터 내의 주소를 이르지만 그릇으로 이해하셔도 됩니다.

위에서 a는 그릇의 이름을, 'hello python'은 그릇에 담긴 객체(object)인 것입니다.

 

변수 이름 = 변수에 저장할 값

참고로, C나 JAVA와 같은 다른 주류 프로그래밍 언어들은 변수 이름 앞에 변수에 담길 자료형을 붙여주어야 하는 번거로움이 있지만, 너무나 쉽고 친절한 파이썬은 그럴 필요가 없이, 담기는 자료형에 따라 자동으로 변수의 type이 정해집니다.

 

변수를 사용하는 이점

 

그렇다면 변수를 사용하는 이유는 무엇일까요?

 

쉬운 예를 들어보겠습니다. 정말 긴 코드에 3.14라는 π(pi)값이 100번 들어가있습니다.

그런데 코드를 실행시켜 어떤 계산을 수행했더니 오차가 커서 3.141592라는 더 정밀한 값이 필요하게 생겼습니다.

안타깝게도 3.14를 모두 찾아서 100번 수정해주어야합니다. 매우 비효율적이죠.

 

이 때, 아래처럼 변수를 설정해주고 그 변수명을 3.14가 들어가 있던 곳에 입력해두었다면 어떨까요?

pi = 3.14
print(12*pi) #이런 계산들이 100번 쓰여진 코드를 상상해봅시다.

우리는 단 한줄만 코드를 수정함으로써 100줄의 코드를 수정할 수고를 덜 수 있는 것입니다.

이 뿐만 아니라, 변수명을 적절하게 지어줌으로써 코드의 가독성 또한 향상 시킬 수 있답니다.

 

변수의 주소

앞서 변수란 엄밀히 말하면 객체를 담는 그릇의 주소라고 말씀드렸습니다. 그렇다면 우리가 만든 변수가 어떤 주소를 갖고 있는지 확인해봅시다.

a = 'hello python'
print(id(a))

>>> 140376307444848

주소를 확인하는 파이썬 내장함수는 id()입니다. 제가 위의 코드를 VS code에서 직접 실행시켜보니 아래와 같은 숫자를 출력합니다.

이 숫자는 컴퓨터 메모리의 주소를 의미하며, 우리가 변수를 설정할 때마다 하나씩 할당됩니다.

 

조금 더 깊이 들어가면 불변형 자료형(정수, 실수, 문자열, 튜플)이냐 변형 자료형(리스트, 딕셔너리)이냐에 따라, 그릇 안의 내용을 바꿀 때마다 주소가 바뀌고 안바뀌고 하는 차이가 있지만 아직은 모르셔도 될 것 같습니다.


오늘은 코딩할 때, 매우 중요한 변수에 대해 알아보았습니다.

앞으로 효율적으로 변수를 활용해서 효율적이고 가독성 좋은 코드를 만드시길 바랍니다.

 

 

 

반응형
반응형

안녕하세요, 왕초보 코린이를 위한 코딩유치원에 오신 것을 환영합니다.

 

 

오늘은 지난 시간의 숫자형 자료형에 이어 문자열 자료형에 대해서 공부해보겠습니다.

 

[코딩유치원 기초문법 강의]

 

2021.03.09 - [파이썬 기초/기초 문법] - [코딩유치원] 파이썬 기초 문법 1편_프로그래밍과 코딩의 정의, 그리고 자료형

2021.03.11 - [파이썬 기초/기초 문법] - [코딩유치원] 파이썬 기초 문법 2편_문자열 자료형

2021.03.11 - [파이썬 기초/기초 문법] - [코딩유치원] 파이썬 기초 문법 3편_변수란 무엇일까?

2021.03.12 - [파이썬 기초/기초 문법] - [코딩유치원] 파이썬 기초 문법 4편_리스트 자료형

2021.03.12 - [파이썬 기초/기초 문법] - [코딩유치원] 파이썬 기초 문법 5편_튜플, 딕셔너리 자료형

2021.03.13 - [파이썬 기초/기초 문법] - [코딩유치원] 파이썬 기초 문법 6편_집합, 불 자료형

2021.03.14 - [파이썬 기초/기초 문법] - [코딩유치원] 파이썬 기초 문법 7편_제어문(if문)

2021.03.15 - [파이썬 기초/기초 문법] - [코딩유치원] 파이썬 기초 문법 8편_제어문(while문)

2021.03.16 - [파이썬 기초/기초 문법] - [코딩유치원] 파이썬 기초 문법 9편_제어문(for문)

2021.03.17 - [파이썬 기초/기초 문법] - [코딩유치원] 파이썬 기초 문법 10편_함수, 모듈, 패키지 개념 총정리

2021.03.18 - [파이썬 기초/기초 문법] - [코딩유치원] 파이썬 기초 문법 11편_함수 사용법

2021.03.19 - [파이썬 기초/기초 문법] - [코딩유치원] 파이썬 기초 문법 12편_모듈 사용법

 

 

코딩유치원에서는 기초 문법을 하나하나 자세히 다루기보다는 개념에 대해 간략히 설명하고 넘어갈 예정입니다.

마치 영어를 시작할 때, 문법만 주구장창 공부하다가 영어에 흥미를 잃어버리는 것과 같이 코딩도 마찬가지라고 생각하기 때문입니다.

문법을 자세히 다루는 곳은 구글에서 조금만 검색해도 많이 나올뿐만 아니라, 나중에 필요할 때마다 찾아보는 것이 더 효율적입니다!


 

문자열 자료형

 

1. 문자열 자료형은 어떻게 만들 수 있을까

문자열(String)이란 한마디로 '글자들'입니다. 여러분들이 " "(큰따옴표)나 ' '(작은 따옴표) 사이에 무엇인가 작성하면 그것이 문자열이 됩니다. 그 안에 숫자를 넣더라도 문자열로 인식된다는 것 기억하세요.

"Hello Python"
"이것도 문자열"
"234567"
"이 안에서는 띄어쓰기도 문자열"

어째서 " "와 ' '를 둘 다 사용하나 궁금하실 수 있는데요. 그 이유는 아래와 같이 글자 안에 '와 "를 사용할 때가 있기 때문입니다.

"Roy's macbook is nice"

 

2. 여러줄 문자열

여러줄의 문장도 문자열로 입력하실 수 있는데요. 이때는 """ """(큰따옴표 3개)나 ''' '''(작은 따옴표 3개)의 사이에 작성하시면 됩니다.

"""
이 사이에 엔터를 치면서
막 이렇게 치시면
나중에 print() 함수로 출력했을 때
여러줄로 출력됩니다.
"""

 

3. 문자열 인덱싱

문자열 인덱싱(Indexing)을 설명드리기 전에, 인덱스(Index)가 무엇인지 알고 넘어갈 필요가 있습니다.

Index란 한국어로 색인 또는 목록을 뜻합니다. 색인이란 글의 본문 중에서 중요한 것을 뽑아 한 곳에 모아두고 찾아보기 쉽게 페이지를 기재해 놓은 것이죠. 즉, 무엇인가를 인덱싱한다는 뜻은 '그것의 정확한 위치를 파악하여 가리킨다'라는 뜻으로 해석할 수 있습니다.

 

우리는 문자열 인덱싱을 통해 문자열의 문자 하나하나에 차례대로 번호를 붙여서, 번호로 문자를 딱 집어낼 수 있습니다.

문자 하나뿐만 아니라 여러개도 가능하죠. (이 부분은 바로 아래에서 슬라이싱이란 개념에서 설명드릴게요)

a = 'hello python'
     012345678901
     
a[0] = 'h'
a[11] = 'n'
a[-1] = 'n'    # -1은 뒤에서 부터 인덱싱할 때 사용. 참고로 -0은 0과 같으므로 h를 가리킴

여기서 주의할 것은 hello python은 문자열로 12개입니다. 파이썬은 띄어쓰기도 문자열로 인식하니까요.

그리고 파이썬은 문자열의 가장 처음 인덱스를 0부터 시작합니다. 이 점은 파이썬의 특징이라기 보다는 프로그래밍 언어의 특징이라고 보시면 됩니다. 이 부분은 코딩하실 때, 항상 헷갈리실 부분이니깐 꼭 숙지해 두시면 좋을 것 같아요.

 

4. 문자열 슬라이싱

문자열 슬라이싱(Slicing)은 영어의 뜻 그대로 문자열을 잘라서 가져오는 느낌입니다. 설명보다는 코드로 이해하시는게 빠를 것 같아요.

a = 'hello python'
     012345678901
     
a[0:5] = 'hello'       # 0:5는 0 이상 5미만을 뜻함 (5 미만이므로 띄어쓰기 부분은 포함 안함에 주의)
a[5:12] = ' python'    # 5 이상이므로 앞에 띄어쓰기를 포함하고, n을 포함시키위해 12를 넣어줌
a[6:] = 'python'       # 6번 인덱스 이상의 문자열 모두 출력
a[:] = 'hello python'  # :을 기준으로 왼쪽오른쪽에 숫자가 없으면 모두 다를 가리킴

len(a) = 12    #len()함수는 문자열의 길이를 구할 때 사용하는 함수

참고로, 문자열 a는 a[11]까지가 끝이지만 슬라이싱 할때만 12,13,14를 넣어줘도 오류가 나지 않습니다. 직접 코딩을 해보시면 a[12]를 인덱싱하면 오류가 나는 것을 확인해 보실 수 있습니다. 

 

5. 문자열 포매팅

문자열 포매팅은 한 마디로 '문자열 안의 글자나 숫자가 바뀌는 문자열'을 만드는 기법입니다.

 

예를 들어보겠습니다.

"현재 시간은 오전 7시입니다"

 

이 문자열에서 시간에 따라 오전/오후시간을 바꾸어 주고 싶다면 어떻게 해야할까요?

자세히는 잘 몰라도 현재의 시간을 어디선가 계속 받아와서 문자열 안의 오전과 7시를 바꾸어 주어야 할 것입니다.

문자열 포매팅 기법은 3 가지 형태가 있는데요. 형태는 다르지만 그 개념은 비슷하니 그 차이점을 비교하면서 차근차근 따라와주세요.

 

조금 어려울 수 있으니 한 번에 다 이해하시려고 하기보다는 이런게 있구나라고 쭉 읽어보시고, 필요한 일이 생기면 그 때 이 글을 다시 읽으시는 걸 추천드려요.

 

 

1) % 포매팅

바뀌길 원하는 곳에 %s(문자열), %c(문자 1개), %d(정수), %f(실수) 를 넣어주고, 문자열이 끝난 후에 % + 원하는 숫자나 문자, 문자열을 붙여주는 방식입니다. 말로 표현하자니 잘 이해가 안되실 듯 해서 코드로 작성해보겠습니다.

"현재 시간은 오전 %d시입니다." %7
>>> '현재 시간은 오전 7시입니다.'

"현재 시간은 %s %d시입니다." %('오전', 7)
>>> '현재 시간은 오전 7시입니다.' #문자열을 입력할 시, ''를 까먹으면 에러가 남

"현재 시간은 %s %s시입니다." %('오전', 7)
>>> '현재 시간은 오전 7시입니다.' # 앞에서 %s를 쓰고 숫자를 넣으면 ''를 넣지 않고도 자동으로 문자로 인식함

하나만 포매팅 할 때는 괄호가 필요없고, 두 개 이상 포매팅 할 때는 괄호를 포함하여 순서대로 원하는 숫자나 문자를 넣어주면 됩니다.

%s를 이용해 포매팅을 하면, 정수, 실수가 자동으로 문자열로 인식되어 입력된다는 것도 알아두시면 좋을 것 같아요.

 

 

2) format 함수 포매팅

format 함수를 사용하면 앞에서처럼 문자열, 정수, 실수를 구분할 필요가 없습니다. 사실상 좀 더 발전된 방식이라고 할 수 있습니다.

위에서 보신 예제를 format 함수를 이용해서 다시 작성해보겠습니다. 비교하면서 보시면 더 잘 이해가 될 거에요.

"현재 시간은 오전 {0}시입니다." .format(7)
>>> '현재 시간은 오전 7시입니다.'

"현재 시간은 {0} {1}시입니다." .format('오전', 7)
>>> '현재 시간은 오전 7시입니다.'

{}는 0부터 시작하는 것에 주의해주세요.

 

 

3) f 문자열 포매팅

문자열 포매팅 기능은 파이썬 3.6버전 이후로 나온 방식으로, 문자열 앞에 f를 붙이는게 특징입니다. 개인적으로 가장 직관적이고 간편한 방식이라고 생각합니다.

 

이 방식은 변수를 설정해주고, 변수를 문자열 안에 {변수} 형태로 넣어주는 방식으로만 사용가능합니다. 다음 시간에 변수에 대해서 자세히 설명드릴 예정이니, 오늘은 자세한 설명없이 예제 코드로만 보고 넘어가도록 하겠습니다.

time = 7
f"현재 시간은 오전 {time}시입니다."
>>> '현재 시간은 오전 7시입니다.'

time = 7
ampm = '오전'
f"현재 시간은 {ampm} {time}시입니다."
>>> '현재 시간은 오전 7시입니다.'

 

사실 다른 포매팅에서는 설명하지 않았지만 변수를 이용할 수 있는 것은 f 문자열 포매팅만 가능한 것이 아닙니다.

변수를 사용한 두 포매팅을 비교하면 아래와 같습니다.

time = 7
"현재 시간은 오전 {0}시입니다." .format(time)
>>> '현재 시간은 오전 7시입니다.'

time = 7
f"현재 시간은 오전 {time}시입니다."
>>> '현재 시간은 오전 7시입니다.'

오늘은 파이썬의 여러가지 자료형 중에서, 문자열 자료형에 대해 다루어보았습니다.

여기까지 따라 오시느라 고생 많으셨고, 다음 시간에는 변수에 대해 알아보기로 하겠습니다.

 

오늘도 코딩유치원을 찾아 주신 여러분~ 감사합니다!

반응형
반응형

안녕하세요, 왕초보 코린이를 위한 코딩유치원에 오신 것을 환영합니다.

 

 

오늘부터는 파이썬 프로그래밍을 위해서 기초 문법에 대해서 공부해보겠습니다.

 

[코딩유치원 기초문법 강의]

 

2021.03.09 - [파이썬 기초/기초 문법] - [코딩유치원] 파이썬 기초 문법 1편_프로그래밍과 코딩의 정의, 그리고 자료형

2021.03.11 - [파이썬 기초/기초 문법] - [코딩유치원] 파이썬 기초 문법 2편_문자열 자료형

2021.03.11 - [파이썬 기초/기초 문법] - [코딩유치원] 파이썬 기초 문법 3편_변수란 무엇일까?

2021.03.12 - [파이썬 기초/기초 문법] - [코딩유치원] 파이썬 기초 문법 4편_리스트 자료형

2021.03.12 - [파이썬 기초/기초 문법] - [코딩유치원] 파이썬 기초 문법 5편_튜플, 딕셔너리 자료형

2021.03.13 - [파이썬 기초/기초 문법] - [코딩유치원] 파이썬 기초 문법 6편_집합, 불 자료형

2021.03.14 - [파이썬 기초/기초 문법] - [코딩유치원] 파이썬 기초 문법 7편_제어문(if문)

2021.03.15 - [파이썬 기초/기초 문법] - [코딩유치원] 파이썬 기초 문법 8편_제어문(while문)

2021.03.16 - [파이썬 기초/기초 문법] - [코딩유치원] 파이썬 기초 문법 9편_제어문(for문)

2021.03.17 - [파이썬 기초/기초 문법] - [코딩유치원] 파이썬 기초 문법 10편_함수, 모듈, 패키지 개념 총정리

2021.03.18 - [파이썬 기초/기초 문법] - [코딩유치원] 파이썬 기초 문법 11편_함수 사용법

2021.03.19 - [파이썬 기초/기초 문법] - [코딩유치원] 파이썬 기초 문법 12편_모듈 사용법

 

코딩유치원에서는 기초 문법을 하나하나 자세히 다루기보다는 개념에 대해 간략히 설명하고 넘어갈 예정입니다.

마치 영어를 시작할 때, 문법만 주구장창 공부하다가 영어에 흥미를 잃어버리는 것과 같이 코딩도 마찬가지라고 생각하기 때문입니다.

문법을 자세히 다루는 곳은 구글에서 조금만 검색해도 많이 나올뿐만 아니라, 나중에 필요할 때마다 찾아보는 것이 더 효율적입니다!


프로그래밍과 코딩의 차이

문법에 대해서 본격적으로 들어가기 전에 프로그래밍과 코딩이 무엇이고, 자료형을 왜 가장 문법의 처음으로 배우는지에 대해 아주 쉽게 설명을 해보려합니다.

 

여러분들은 프로그래밍과 코딩의 차이에 대해서 생각해보신 적 있으신가요?

흔히들 프로그래밍과 코딩을 같은 의미로 혼용해서 사용하지만 그 의미는 엄밀히 다릅니다.

 

 

우리에게 TV 프로그램이란 단어로 익숙한 프로그램의 사전적 의미는 지시 사항들이 나열된 순서를 의미합니다.

즉, 프로그래밍이란 특정 작업을 수행하는 일련의 명령들을 만드는 행위를 뜻합니다.

 

출처. 프로그래머가 필요한 수학 (brunch)

 

위의 그림에서 프로그램은 f(x)입니다. 빵 만드는 기계를 일종의 빵을 만드는 프로그램으로 볼 수 있죠.

 

프로그래밍(Programing)을 한마디로 f(x)를 구현하는 것입니다.

코딩(Coding)은 이러한 f(x)를 컴퓨터가 알아들을 수 있는 코드로 작성하는 행위를 뜻하죠.

 

이때, f(x)를 설계하면서 반드시 고려해야할 부분은 '어떤 입력값 a를 함수에 넣어 어떤 출력값 f(a)를 받을 것인지'입니다.

여기서 입력값과 출력값의 형태자료형이라고 설명 드릴 수 있습니다. 그 형태가 숫자면 숫자 자료형, 문자열이면 문자열 자료형이죠.

 

우리는 자료형에 대해 파악하고, 우리가 혹은 남이 만들어 놓은 함수 f(x)에 적절한 자료형을 넣어줄 필요가 있습니다. 물론 처리된 자료형을 다시 어떤 함수로 넣어주어야 하니 어떤 자료형이 나오는지도 잘 파악해야하죠.

 

위의 그림에서 만약 빵 만드는 기계에 밀가루 대신에 시멘트 가루를 넣으면 기계가 망가지겠죠?

그래서 우리는 무엇보다 먼저 자료형에 대해 공부할 필요가 있습니다.

 

 


 

자료형

자료형은 개념적으로 크게 3가지로 분류할 수 있습니다. (개인적인 분류이므로 공식적인 단어들은 아닙니다)

 

1) 숫자와 문자열과 같은 개별 자료형

    - 숫자, 문자열

 

2) 숫자와 문자 등의 개별 자료형을 담을 수 있는 꾸러미 자료형

    - 리스트, 튜플, 딕셔너리, 집합

 

3) 참/거짓을 판단하는  불(bool) 자료형

 

그럼 지금부터는 자료형에 대해서 하나하나 자세히 다루어볼텐데요.

문자열 자료형에 대한 내용이 조금 많아서 오늘은 숫자 자료형까지만 공부해보겠습니다.

 


 

숫자 자료형

숫자 자료형은 말그대로 숫자 형태로 이루어진 자료형입니다.

여러분도 잘 아시다시피, 숫자는 정수(Integer), 실수(Floating-point)로 나뉩니다.

정수형을 예로 들면, 10, 0, -150 등등이 있고, 실수형에는 소수점이 포함된 숫자인 -0.57, 3.14 등이 있습니다.

간혹 8진수(Octal)과 16진수(Hexadecimal)도 사용하지만 자주 다루지는 않으니 이런것이 있다는 정도만 알고 그냥 넘어가도록 하겠습니다.

 

사칙연산

여러분들이 사칙연산의 연산자 (+, -, *, /)와 숫자를 함께 코딩하면 계산이 가능합니다.

a= 5
b= 10

print(a+b)
>>> 15
print(a-b)
>>> -5
print(a*b)
>>> 50
print(a/b)
>>> 0.5

그 외 제곱(**), 나눗셈의 나머지(%), 나눗셈의 몫(//)을 연산할 수도 있으나, 자주 사용하지는 않으니 넘어가도록 하겠습니다.

 


오늘 수업은 여기까지입니다.

다음 시간에는 문자열 자료형에 대해 공부해보겠습니다.

반응형
반응형

안녕하세요, 왕초보 코린이를 위한 코딩유치원에 오신 것을 환영합니다.

 

코딩유치원에서는 파이썬 기초부터 사무자동화, 웹크롤링, 데이터 분석 등의 다양한 패키지까지 초보자도 알기 쉽도록 내용을 정리해 놓았습니다.

 

업무는 물론 투자에도 도움이 될만한 전자공시시스템(DART)나 텔레그램(Telegram) 관련 패키지도 배울 수 있으니 많은 관심 부탁드립니다.

 

 

[코딩유치원 파이썬 개발환경 구축 강의]

 

2021.03.02 - [파이썬 기초/개발환경 구축] - [코딩유치원] 파이썬 개발환경 구축 1편 (파이썬 VS 아나콘다)

2021.03.04 - [파이썬 기초/개발환경 구축] - [코딩유치원] 파이썬 개발환경 구축 2편 (어떤 IDE를 사용할까?)

2021.03.05 - [파이썬 기초/개발환경 구축] - [코딩유치원] 파이썬 개발환경 구축 3편 (VS code 설치 및 초기설정)

2021.03.08 - [파이썬 기초/개발환경 구축] - [코딩유치원] 파이썬 개발환경 구축 4편 (VS Code와 친해지기)

2021.06.26 - [파이썬 기초/개발환경 구축] - [Python/VSCode] 파이썬 개발환경 구축 5편_VSCode에서 Jupyter notebook 사용하는 법

2021.07.14 - [파이썬 기초/개발환경 구축] - [Python/VSCode] 파이썬 개발환경 구축 6편_코드를 예쁘게 만들어주는 강추 Extension 4가지

 

지난 시간에 VS code를 설치하고, 파이썬 코딩을 위해 파이썬 관련 Extension 몇가지를 설치해보았습니다.

이번 시간에는 VS cdoe를 본격적으로 사용하기 위해서, 주요 기능들을 알아보겠습니다.

추가로 조금 설정할 것들이 있어서 그 부분도 간략히 설명하도록 하겠습니다.

 

1. 폴더 만들고 Python(py 확장자) 파일 만들기

가장 처음할 것은 파이썬 파일이나 기타 파일들을 전부 넣어두는 하나의 프로젝트용 폴더를 만드는 것입니다.

위치는 원하시는 어느 곳이든 상관없습니다. 이름은 제가 테스트해보니 한글로 만드셔도 작동하지만 웬만하면 영어로 해주세요.

보통 외국 프로그램들은 한글이랑 안 친해서 오류가 생기는 경우가 많거든요..

 

그리고 폴더를 생성하지 않고 그냥 바탕화면이나 기존 폴더를 사용해도 되지만 추천드리지 않아요.

나중에 파일을 찾을 때도 힘들고, 프로젝트를 하면서도 직관성이 떨어지니까요!

 

폴더를 만드셨으면 메뉴 텝에서 파일-열기를 선택하셔서 생성하신 폴더를 열어주세요.

그러면 위의 그림처럼 화면이 나올텐데요. 좌측 상단을 보시면 +표시가 있는 아이콘이 2개 보이실 거에요.

왼쪽이 파일을 생성하는 아이콘이고, 오른쪽이 폴더를 생성하는 아이콘입니다. (물론 우리가 방금 만든 프로젝트 폴더 안에요)

 

파이썬 파일(.py)을 만들기 위해서는 파일 생성 아이콘을 클릭 후, 파일 이름.py로 이름을 지어주세요.

저는 ex_hello.py로 파이썬 파일을 생성했습니다.

 

만약에 파일 이름에 .py를 붙이지 않으셨다면 당황하지 마시고, 만드신 파일을 우클릭 하셔서 이름 바꾸기로 .py를 추가해주시면 됩니다!

 

2. 파이썬 파일 코딩 후 실행해보기

자! 이제 드디어 파이썬 언어로 코딩을 한 줄 해봅시다.

print("hello python")

아주 직관적인 파이썬 답게 "hello python"을 출력해 달라는 내용입니다.

 

우측 상단의 초록색 재생 버튼을 눌러서, 코드를 실행시키지 전에!

만약 아나콘다를 설치하셨다면 좌측 하단에 Python 3.8.3 64-bit('base':conda)라고 나와 있는 것을 보실 수 있을텐데요. 이것은 아나콘다를 설치하면 기본으로 구축되는 인터프리터 환경(environment)입니다. 나중에 배우시겠지만 conda install을 이용해서 라이브러리를 설치하면 여기 'base'에 라이브러리들이 설치되는데, 만약 다른 환경을 선택하신다면 잘 작동하던 코드가 오류가 뜰 수 있으니 신경써 주셔야해요.

 

만약 python을 따로 설치하셨거나, 별도로 가상 환경을 생성하신 분들은 좌측 하단의 버전을 클릭하시면 위의 그림처럼 여러가지 환경을 선택하실 수 있는 창이 나타날 거에요. 

 

3. 오류 해결 (기본 터미널 설정)

다시 본론으로 돌아와서 우측 상단의 코드 실행 버튼 (초록색 재생 버튼)을 누르시면 아마도 하단에 아래와 같은 글씨들이 뜰 거에요.

(Window OS는 이런 현상이 나타났고, Mac OS는 설치한지가 오래되어서 뜨는지 안뜨는지 잘 모르겠답니다ㅜㅜ)

window10에서 찍어뒀던 스크린샷이라서 실행결과가 'hello'로 떠있는 점 주의

실행이 되긴 하는데 계속 빨간 글씨가 뜨는게 마음에 안듭니다.

많은 시행 착오 끝에 알아낸 원인은 VS code 설치 시, 기본 터미널이 powershell이라는 것입니다. 

 

해결 방법은 아래와 같습니다.

 

1) Ctrl + Shift + P를 눌러서 Command Pallete를 켠 후, Terminal: Select Default Shell을 입력하여 선택

    (2022년 9월 6일 확인 시, Terminal: Select Default Profile로 변경됨)

2) 항목들 중, Command Prompt를 선택

3) Terminal 재실행

 

4. 주의할 점

구글에 'vscode anaconda 초기설정'이라고 검색하면 나오는 블로그 중 한 곳에서, Code Runner Extension을 설치하라고 나옵니다.

제가 아직 잘 몰라서 그런지 모르겠지만 이걸 설치하고 나니깐 코드 실행할 때마다 터미널에 실행 결과가 나오는 것이 아니라, 아래처럼 출력 탭을 통해 이렇게 나오더라구요.. 만약 설치하셨다면 일단 Code Runner Extension을 다시 제거하시는게 좋을 것 같아요!

제가 추후 공부해서 이 익스텐션이 뭔지 알아보는 시간을 가지도록 하겠습니다.

 

오늘 수업은 여기까지입니다.

여기까지 따라 오시느라 고생 많으셨습니다!

반응형
반응형

내가 재밌게 봤던 이태원 클라쓰에서 이런 대사가 나온다.

 

드라마 이태원 클라쓰

같이 교도소에 있다가 출소한 뒤, 7년간 깡패로 살아온 승권과 사업을 위해 전심전력을 다하며 살아온 새로이. 한 때 같은 처지였지만, 엄청난 노력을 통해 목표했던 가게를 차린 새로이를 보며 승권이가 새로이와 자신의 시간의 농도 차이에 대해서 생각하는 장면이다. 

그때 그 대사를 듣고서, "과연 내가 살아온 30년동안 내 시간의 농도는 얼마였을까?"라는 생각을 했다.

돌이켜 보면 내 시간의 농도는 한 분야에서 성공한 사람들보다 많이 묽었던 것 같다.

어중간한 노력, 딱 그정도였다. 많은 책을 읽으면서 성공이 무엇인지 간접적으로 경험했지만, 그들처럼 노력하지 않았다.

성공하고 싶지만 노력은 게을리하며 스트레스 받는 나를, 다들 그렇게 사는거라며 핑계 대면서 살아왔다.

 

항상 두 가지 생각의 사이에서 왔다갔다했던 것 같다.

성공한 사람들을 보며 부러워하는 나 자신을 보며, 가끔은 내가 너무 위만 바라보고 사는 것은 아닐까하는 생각과, 나보다 힘들게 살아가는 누군가에겐 지금의 내 삶이 정말 원하던 삶일수도 있는데, 나는 너무 배부른 생각을 하고 있는게 아닌가 하는 생각.

 

현재에 만족하고 감사하며 살아가야 한다고 많은 사람들이 말했지만, 항상 뭔가 아쉽고 더 나은 삶에 대한 갈증은 해결되지 않았다.

나는 무엇이 아쉽고, 내가 원하는 더 나은 삶과 성공이란게 무엇일까 많이 고민했고 아래와 같은 답을 얻었다.

1. 게으른 나 자신에게 휘둘리지 않는 삶

2. 남에게 휘둘리지 않는 삶

3. 하루하루 성장하고 배우는 삶

타인과 비교하는 것이 아니라 어제의 나와 비교해야 한다. 게으른 나 자신을 이겨내고, 내 시간을 배움과 성장으로 채워야 한다.

내가 진정 부끄러워 해야하는 것은 타인보다 성공하지 못한 것이 아니라, 무의미하게 하루를 흘려 보낸 것이 되어야 한다. 신중하게 올바른 방향을 설정하고 믿음을 가지고 하루하루 무엇인가 쌓아 간다면, 경제적 자유는 자연스럽게 따라올 것이다. 그때는 남에게 휘둘리지 않는 삶을 살 수 있을 것이다.

 

부디 욕심만 있고, 그에 맞는 노력은 하지 않아서 스트레스 받는 한 해가 되지 않기를..

최근 시작한 이 코딩유치원이라는 블로그를 꾸준히 해서, 유의미한 성과를 얻기를 바라고 또 노력할 것이다.

 

반응형
반응형

안녕하세요, 왕초보 코린이를 위한 코딩유치원에 오신 것을 환영합니다.

 

코딩유치원에서는 파이썬 기초부터 사무자동화, 웹크롤링, 데이터 분석 등의 다양한 패키지까지 초보자도 알기 쉽도록 내용을 정리해 놓았습니다.

 

업무는 물론 투자에도 도움이 될만한 전자공시시스템(DART)텔레그램(Telegram) 관련 패키지도 배울 수 있으니 많은 관심 부탁드립니다.

 

 

[코딩유치원 파이썬 개발환경 구축 강의]

 

2021.03.02 - [파이썬 기초/개발환경 구축] - [코딩유치원] 파이썬 개발환경 구축 1편 (파이썬 VS 아나콘다)

2021.03.04 - [파이썬 기초/개발환경 구축] - [코딩유치원] 파이썬 개발환경 구축 2편 (어떤 IDE를 사용할까?)

2021.03.05 - [파이썬 기초/개발환경 구축] - [코딩유치원] 파이썬 개발환경 구축 3편 (VS code 설치 및 초기설정)

2021.03.08 - [파이썬 기초/개발환경 구축] - [코딩유치원] 파이썬 개발환경 구축 4편 (VS Code와 친해지기)

2021.06.26 - [파이썬 기초/개발환경 구축] - [Python/VSCode] 파이썬 개발환경 구축 5편_VSCode에서 Jupyter notebook 사용하는 법

2021.07.14 - [파이썬 기초/개발환경 구축] - [Python/VSCode] 파이썬 개발환경 구축 6편_코드를 예쁘게 만들어주는 강추 Extension 4가지

 

오늘은 지난 시간에 소개드렸던 VS code를 함께 설치하는 시간을 가져보겠습니다.

 

파이썬 개발에 VS code를 IDE로 선택한 이유는 지난 글에서 소개드렸으니, 안보신분들은 참고해주세요!

 

[코딩유치원] 파이썬 개발환경 구축 2편 (어떤 IDE를 사용할까?)

안녕하세요, 왕초보 코린이를 위한 코딩유치원에 오신 것을 환영합니다. 오늘 배워볼 내용은 파이썬 개발을 도와주는 유용한 도구 IDE(Integrated Development Environment)입니다. 지난 글에서 파이썬과

coding-kindergarten.tistory.com

 

지금부터 순서대로 따라해주세요.

 

1. 홈페이지 접속 및 다운로드

code.visualstudio.com

 

Visual Studio Code - Code Editing. Redefined

Visual Studio Code is a code editor redefined and optimized for building and debugging modern web and cloud applications.  Visual Studio Code is free and available on your favorite platform - Linux, macOS, and Windows.

code.visualstudio.com

 

2. 설치 

Mac OS

단 한줄로 설명이 가능합니다.

다운받고 압축을 풀고 실행을 하면 바로 실행이 됩니다.

 

Windows OS

저는 Mac OS를 사용하기 때문에, 다른 블로그 포스팅을 첨부하는 것으로 대신하겠습니다.

<요약> 다운로드 파일 실행 후, 동의함, 다음, 다음, 다음, 설치, 마침

 

yjshin.tistory.com/entry/개발도구-VSCode-설치와-한글-설정-방법

 

[개발도구] VSCode 설치와 한글 설정 방법

VSCode 란 비주얼 스튜디오 코드(영어: Visual Studio Code)는 마이크로소프트가 윈도우, macOS, 리눅스용으로 개발한 무료 소스 코드 편집기입니다. 디버깅 지원과 Git 제어, 구문 강조 기능등이 포함되어

yjshin.tistory.com

 

3. 파이썬 익스텐션 설치

VS code에서 파이썬을 사용하기 위해서는 EXTENSIONS이라는 것을 설치해주어야 합니다.

설치가 필요한 익스텐션들은 아래와 같습니다.

(저는 이미 설치가 되어있어서 안뜨지만 여러분들은 아래의 다른 익스텐션 처럼 Install 버튼이 있을거에요!)

 

1. Python

2. Python for VSCode

3. Python Extension Pac

VS Code Python Extension 설치

 

4. 한글 패치 (선택 사항)

위와 같은 EXTENSIONS 탭에서 korean을 검색하면 아래와 같은 익스텐션이 나옵니다.

Install 버튼을 누르면 화면의 오른쪽 아래에 Restart라고 나오는데 누르시면 VS Code가 재시작 되면서 친숙한 한글이 펼쳐집니다.

 

 

혹시나 설치하셨는데 '나는 코딩하면서 영어 공부도 할거야!' 하시는 분은 다시 해당 익스텐션을 클릭하면 제거 버튼이 나오니 참고하세요~

 

오늘은 간단히 VS Code를 설치해보았습니다.

 

다음 시간부터는 VS Code에서 본격적으로 파이썬 다루어보도록 하겠습니다.

 

그럼 다음 시간에 또만나요~ㅎㅎ

 

반응형
반응형

안녕하세요, 왕초보 코린이를 위한 코딩유치원에 오신 것을 환영합니다.

 

코딩유치원에서는 파이썬 기초부터 사무자동화, 웹크롤링, 데이터 분석 등의 다양한 패키지까지 초보자도 알기 쉽도록 내용을 정리해 놓았습니다.

 

업무는 물론 투자에도 도움이 될만한 전자공시시스템(DART)나 텔레그램(Telegram) 관련 패키지도 배울 수 있으니 많은 관심 부탁드립니다.

 

 

[코딩유치원 파이썬 개발환경 구축 강의]

 

2021.03.02 - [파이썬 기초/개발환경 구축] - [코딩유치원] 파이썬 개발환경 구축 1편 (파이썬 VS 아나콘다)

2021.03.04 - [파이썬 기초/개발환경 구축] - [코딩유치원] 파이썬 개발환경 구축 2편 (어떤 IDE를 사용할까?)

2021.03.05 - [파이썬 기초/개발환경 구축] - [코딩유치원] 파이썬 개발환경 구축 3편 (VS code 설치 및 초기설정)

2021.03.08 - [파이썬 기초/개발환경 구축] - [코딩유치원] 파이썬 개발환경 구축 4편 (VS Code와 친해지기)

2021.06.26 - [파이썬 기초/개발환경 구축] - [Python/VSCode] 파이썬 개발환경 구축 5편_VSCode에서 Jupyter notebook 사용하는 법

2021.07.14 - [파이썬 기초/개발환경 구축] - [Python/VSCode] 파이썬 개발환경 구축 6편_코드를 예쁘게 만들어주는 강추 Extension 4가지

 

 

오늘 배워볼 내용은 파이썬 개발을 도와주는 유용한 도구 IDE(Integrated Development Environment)입니다.

 

지난 글에서 파이썬과 아나콘다에 대해서 알아보았고, 아마도 여러분들은 더 유용한 아나콘다를 설치하셨을 것입니다.

파이썬을 설치하거나, 아나콘다를 설치했을 때에 기본적으로 제공되는 코드를 작성&실행할 수 있는 IDLE Shell이 있습니다.

하지만 마치 메모장에 코딩을 하는 느낌을 주기 때문에, 사용하기가 매우매우 불편합니다.

 

그래서!

우리는 지금부터 효율적인 파이썬 코딩을 위해서 IDE라 불리는 것에 대해서 알아보고 무엇을 사용할지 정해보는 시간을 가지겠습니다.

IDE가 뭔지 알아보기 위해 네이버 지식백과를 검색해보았습니다.

 

IDE란 무엇인가

IDE [Integrated Development Environment]

효율적으로 소프트웨어를 개발하기 위한 통합개발환경 소프트웨어 어플리케이션 인터페이스이다.

코드 편집기, 디버거, 컴파일러, 인터프리터 등을 포함하고 개발자에게 제공한다.

 

위의 설명을 저의 얕은 지식으로 보충 설명 하자면 아래와 같습니다.

 

코드 편집기

코드를 알록달록 예쁘게, 자동 완성, 자동 들여쓰기, 맞춤법 검사 등의 기능으로 코드 편집을 쉽게 해주는 역할

 

디버거

코딩을 할 때, 코드가 잘 돌아가는지, 변수에는 어떤 값이 들어가 있는지 모니터링 해주는 역할

 

컴파일러

작성된 코드 전체를 컴퓨터가 알아먹기 쉬운 언어(기계어)로 번역해서 작동시켜주는 역할

 

인터프리터

코드를 한 줄 한 줄 실행시켜주는 역할

 

사실 파이썬 코딩에 사용할 수 있는 IDE는 정말 많습니다.

아래의 블로그에는 8가지 정도의 IDE를 간략히 소개했는데, 궁금하신 분들은 한 번 보시는 것도 좋을 것 같아요.

 

blog.naver.com/i_am_sangyun/222171417249

 

파이썬 IDE(통합개발환경) 소개

이번에는 파이썬 IDE(Integrated Development Environment: 통합개발환경)에 대해 소개하겠습니다. ...

blog.naver.com

 

파이썬 IDE 사용 순위

그렇다면 현재 파이썬 유저들이 가장 많이 사용하고 있는 IDE는 무엇일까요?

 

한 설문 조사에서 2500개 이상의 응답 (최대 3개 중복 선택)으로 통계를 내보았을 때의 결과는 아래와 같다고 합니다.

zephyrnet.com/ko/here-are-the-most-popular-python-ides-editors/(출처)

1위는 아나콘다에서 기본으로 제공하는 웹기반 IDE인 Jupyter Notebook이 차지했네요.

그리고 2위는 최근 많은 분들이 사용하고 계시는 VS Code가, 3위는 파이썬 전용 IDE인 PyCharm이 차지했습니다.

 

제가 여러 책과 강의를 통해 독학하다보니, 위의 3가지 IDE를 모두 사용해보았는데요.

저의 경험과 여러 자료를 찾아본 것을 통해 각 IDE들의 장단점을 간략히 정리해보겠습니다.

 

Jupyter Notebook

아래의 장점으로 인해 주로 데이터 사이언스에 많이 활용됨

장점

1. 코드를 블록 단위로 쪼개어 작성, 실행하여 결과를 바로바로 확인 가능

2. 시각화 라이브러리를 이용해 표와 그래프를 즉시 확인 가능

단점

1. 디버깅 기능이 없음

2. 웹 기반이므로 항상 모든 코드를 처음부터 실행해야 함

3. ipynb라는 전용 확장자를 사용해서 다른 프로그램에서 사용하기가 어려움 (VS Code에서는 되는 것 확인)

 

Visual Studio Code

마이크로 소프트에서 만든 코드 편집기 (태생이 IDE가 아니었음..?!)

확장 기능의 수도 굉장히 많고, 이를 통해 다양한 종류의 언어를 지원하여 사실상 준 IDE급의 위치에 도달

 

장점

1. 완전 무료

2. 가볍고 시작 속도가 빠름

3. 확장 프로그램 설치를 통해 다양한 언어 코딩 가능 (그 중 하나가 파이썬)

4. 한국어 패치 가능

5. 코드 편집 UI가 심플하고 알아보기 쉬움

 

단점

PyCharm에 비해 파이썬 코딩 시, 기능이 조금 모자란다고 하는데 저는 아직까지 잘 모르겠습니다.

 

PyCharm

장점

1. 코드별로 파이썬 버전 선택 가능

2. GUI로 편리하게 라이브러리(패키지) 설치 가능

3. 파이썬 코딩에 최적화

 

단점

1. 오직 Python 전용 IDE

2. 프로그램이 무거워서 시작할 때 오래걸린다고 함

3. 무료 버전인 Community와 유료 버전인 Professional으로 나뉨

 

저도 아직 파이썬을 배운지가 얼마 되지 않아서 정확히는 잘 모르지만, 현재로서는 VS Code가 가장 매력적이라고 느껴집니다.

IDE는 꼭 하나만 사용할 필요가 없지만 특별한 이유가 없다면 VS Code를 사용하실 것을 추천드리며,

추후 VS Code에 대해 알아보는 포스팅을 하도록 하겠습니다.

 

오늘도 코딩유치원을 찾아주셔서 감사드리며, 긴 글 읽어주셔서 감사합니다.

 

 

반응형
반응형

안녕하세요, 왕초보 코린이를 위한 코딩 유치원에 오신 것을 환영합니다.

 

오늘은 제가 티스토리를 시작하면서 알게된 블로그를 검색 엔진에 노출시키는 방법에 대해 정리하는 시간을 가져보려 합니다.

 

우리가 티스토리 블로그에 글을 쓰는 것은 마치 아마존 정글에서 글을 쓰고 나무에 붙여놓은 것과 같은 느낌입니다.

한마디로, 아무도 우리의 글이 존재하는지도 모르는 상태입니다.

남에게 도움이 되기 위해서 정성스럽게 글을 써도, 아무도 보지 못하는 상태라니 너무 슬프네요..

 

그래서! 우리는 유명한 검색 엔진(구글, 네이버, 다음)들에서 우리의 글을 가져가서 사람들에게 소개할 수 있도록, 별도의 조치를 취해줘야합니다. 그 방법은 각 검색 엔진마다 조금씩은 다르지만 그 개념은 비슷합니다.

 

1. 내 블로그의 URL을 해당 사이트에 입력하면, 내 블로그를 검색 엔진이 알아볼 수 있는 표식(Meta data)을 알려준다.

2. 그 표식을 내 블로그의 HTML(웹 페이지를 구성하는 언어) 문서에 붙여넣어줌으로써 내 블로그임을 증명한다.

3. 검색 엔진의 봇(bot)이 내 블로그의 글이나 사진 등을 효율적으로 가져갈 수 있도록 사이트맵(Sitemap)을 등록한다.

4. 내 블로그에 새로운 포스팅이 올라왔을 때, 알람 역할을 하는 RSS를 등록한다.

 

아래 내용은 Sitemap과 RSS에 대한 자세한 설명이니, 궁금하신 분들은 참고하세요~.

 

terran6820.tistory.com/169

 

사이트맵(sitemap)과 RSS 뜻에 대해서 알아봅니다.

웹마스터 도구에 사이트맵과 RSS를 등록하는 과정은 애드센스 신청을 앞두고 있거나 수익형 블로그를 운영하는 사람들이 기본적으로 알아야 될 상식과 같은 것입니다. 공들여 쓴 내 글이 1페이

terran6820.tistory.com

아래부터는 이미 다른분들께서 정성스럽게 정리한 설정 방법에 대한 포스팅을 공유드립니다.

(오래 전 글들은 달라진 점들이 있어서, 최신 포스팅 위주로 공유드립니다)

 

구글 (구글 서치 콘솔)

umku10.tistory.com/8

 

티스토리 구글 검색 등록! (feat. 구글서치콘솔 Google Search Console)

안녕하세요~!!오늘은 티스토리 구축2편! 구글 서치 콘솔 등록에 대해서 알아보려고 합니다! 으아닛~ 티스토리 만드는 건 좋은데!! 사람들이 볼 수 있게 검색하면 나오게 만들어주셔야죠!!ㅎㅎ

umku10.tistory.com

 

네이버 (네이버 서치어드바이저- (구)네이버 웹마스터 도구)

blog.naver.com/applepss97/222233939840

 

[티스토리 최적화하기] 네이버 웹마스터 도구(사이트 등록, RSS제출, 사이트맵 제출, 웹페이지 최

최근 티스토리에 블로그를 신규 개설했는데작성한 글이 다음에서는 노출이 잘 되나네이버나 구글에서 노출...

blog.naver.com

그리고 위의 포스팅을 보고 네이버에 등록을 완료하고 웹 페이지 최적화를 체크해봤을 때, 'robots.txt가 존재하지 않습니다.'라고 뜰 수도 있습니다. 그럴 땐, 당황하지 마시고 아래의 포스팅을 참고해주세요.

wonderbout.tistory.com/76

 

티스토리 robots.txt 문제 해결

네이버 웹마스터 도구에서 "robots.txt가 존재하지 않습니다."라는 오류 문구가 나타나는 경우가 있습니다. 티스토리 robots.txt 오류 수정을 어떻게 해야 하는지와 잘못된 정보에 대해 리뷰를 하려고

wonderbout.tistory.com

 

다음 (다음 검색등록)

bellalovestory.tistory.com/79

 

티스토리 최적화 하기 (다음 사이트 검색 등록 방법)

1. 티스토리 블로그를 검색 포털 웹마스터 도구에 등록해야 하는 이유 티스토리는 카카오에서 운영중인 블로그이다. 그래서 내 블로그의 포스팅이 네이버, 구글 등 검색 포털에 노출되게 하려면

bellalovestory.tistory.com

2021년 3월 3일 기준, 다음 등록을 시도해봤으나 티스토리는 자동으로 등록되어 있다고 나오네요.

 

 

위의 과정들을 모두 완료하셨다면, 이제 남은 것은 열심히 포스팅하는 일 뿐입니다.

고생해서 모든 검색 엔진에 블로그의 글을 잘 홍보해주도록 해봤자, 게으름에 져서 아무것도 하지 않으면 의미가 없겠죠!

 

저도 오늘 한 일들이 의미가 있도록 앞으로 분발해서 코딩유치원 포스팅을 이어가도록 하겠습니다.

 

긴 글 읽어 주셔서 감사합니다.

반응형
반응형

안녕하세요, 왕초보 코린이를 위한 코딩유치원에 오신 것을 환영합니다.

 

코딩유치원에서는 파이썬 기초부터 사무자동화, 웹크롤링, 데이터 분석 등의 다양한 패키지까지 초보자도 알기 쉽도록 내용을 정리해 놓았습니다.

 

업무는 물론 투자에도 도움이 될만한 전자공시시스템(DART)나 텔레그램(Telegram) 관련 패키지도 배울 수 있으니 많은 관심 부탁드립니다.

 

 

[코딩유치원 파이썬 개발환경 구축 강의]

 

2021.03.02 - [파이썬 기초/개발환경 구축] - [코딩유치원] 파이썬 개발환경 구축 1편 (파이썬 VS 아나콘다)

2021.03.04 - [파이썬 기초/개발환경 구축] - [코딩유치원] 파이썬 개발환경 구축 2편 (어떤 IDE를 사용할까?)

2021.03.05 - [파이썬 기초/개발환경 구축] - [코딩유치원] 파이썬 개발환경 구축 3편 (VS code 설치 및 초기설정)

2021.03.08 - [파이썬 기초/개발환경 구축] - [코딩유치원] 파이썬 개발환경 구축 4편 (VS Code와 친해지기)

2021.06.26 - [파이썬 기초/개발환경 구축] - [Python/VSCode] 파이썬 개발환경 구축 5편_VSCode에서 Jupyter notebook 사용하는 법

 

오늘은 파이썬을 함께 설치해보는 시간을 가져볼까 해요.

 

파이썬 프로그래밍을 위해서는 개발 환경을 구축해야하는데요.

제가 쌩초보 시절, 가장 힘들었던 것이 개발 환경을 구축하는 것이었습니다. (시작이 반이라던데 이런 뜻이었나..?!)

 

여러가지 책과 강의를 참고했는데, 어느 책은 파이썬을 설치하라고 하고, 어느 책은 아나콘다를 설치하라고 하고,

어느 강의는 설치할 필요 없이, 웹 기반 개발 환경을 사용하라고 했기 때문이죠.

 

초보자 입장에서는 내가 보는 책이 시키는데로 일단 무작정 따라하는 수 밖에 없었기에, 제 노트북엔 이것저것 다 깔려있답니다..ㅜㅜ

여러분들께서는 제가 겪었던 막막함을 똑같이 겪기 보다는, 적어도 뭐가 뭔지는 알고 따라 하는 것이 더 좋다고 생각이 듭니다.

 

일단 이번 시간(1편)에는 파이썬을 설치하는 법에 대해 알아보고, 다음 시간(2편)에서는 파이썬 프로그래밍을 수월하게 할 수 있도록 도와주는 IDE(Integrated Development Environment)에 대해서 알아보기로 하겠습니다.

 

 

 

Python 3 (파이썬 공식 홈페이지)

http://www.python.org/downloads

 

Download Python

The official home of the Python Programming Language

www.python.org

위의 링크를 누르면, 아래와 같은 화면이 뜨는데, 노란색 네모의 다운로드 버튼을 누르면 최신 버전의 파이썬이 다운로드 됩니다.

(저는 Mac OS를 사용해서 아래와 같이 for Mac OS X라 뜨지만 Windows OS를 사용하시는 분들은 for Windows라 뜹니다)

자세한 설치 내용은 네이버나 구글에서 검색하면 너무 잘 나와있기에 생략하겠습니다.

 

 

Anaconda (수백 개의 라이브러리를 포함하고 있는 파이썬 패키지) - 추천 방식!

www.anaconda.com/products/individual

 

Anaconda | Individual Edition

Anaconda's open-source Individual Edition is the easiest way to perform Python/R data science and machine learning on a single machine.

www.anaconda.com

 

아나콘다를 쉽게 설명하자면 Python의 일반적인 데이터 과학 패키지가 포함된 소프트웨어 패키지라고 할 수 있습니다.

위에서 소개드린 공식홈페이지에서 파이썬만 설치하는 것에 비해 아나콘다를 설치함으로써 얻을 수 있는 장점은 아래와 같습니다.

 

1. 데이터 과학 및 딥러닝 관련된 수 많은 라이브러리를 따로 설치할 필요 없음.

   파이썬에서 어떠한 라이브러리를 사용하기 위해서는 터미널 창에서 pip install 명령어로 설치해주어야함.

   이 때, 기존 라이브러리들과의 충돌 여부를 확인하지 않으므로, 새로운 라이브러리 설치가 잘 안되는 경우가 빈번함.

   아나콘다는 데이터 과학 관련 라이브러리들이 이미 설치되어 있어, 위와 같은 작업이 줄어들 뿐만아니라,

   conda라는 패키지 관리자가 현재 환경과 충돌 여부를 설치 시에 확인하여, 문제가 적음.

 

2. 수행하는 프로젝트에 따라 가상 환경을 만들어 관리할 수 있음

   예를 들어, A 프로젝트에는 python2를 사용해야하고, B 프로젝트에는 python3을 사용해야 하는 경우가 있음.

   이때 각 프로젝트에 맞는 가상의 환경을 만들어, 버전에 따른 버그를 방지할 수 있음.

 

초보자분들께서는 위의 내용이 복잡하고, 무슨 말인지 잘 이해가 안가실 수 있습니다.

 

그래서 딱 정리해드리면,

저는 처음 파이썬을 시작하시는 분들께서는 파이썬만 설치하기 보다는 아나콘다를 설치하는 것을 추천드립니다.

(중복으로 설치 시, 충돌이 발생할 수 있으니 아나콘다만! 설치하시기 바랍니다)

 

용량이 500MB 정도 밖에 되지 않는데다가 장점이 많으니, 굳이 깔지 않을 이유가 없다고 생각합니다.

 

 

Anaconda 설치방법 (Windows OS)

 

1. 아래의 링크 혹은 ANACONDA를 직접 검색하셔서 공식홈페이지에 접속한 후, 다운로드 버튼을 눌러줍니다.

www.anaconda.com/products/individual

 

2. 다운로드가 완료되었으면, Setup파일을 실행시켜 줍니다.

 

그 다음부터는 아래의 그림을 보시고 파란색으로 표시된 버튼을 차례대로 클릭해주세요.

 

 

참고로 아래의 설치 경로를 설정할 때, 윈도우 사용자 이름이 영어가 아닌 한글로 설치되어 있을 때, 에러가 발생하며 설치가 되지 않습니다.

 

 

PATH 환경 변수  설정에 대한 내용인데 아나콘다에서 추천하는 두 번째 옵션으로 설정해줍니다. (기본으로 선택됨)

 

Install을 누른 후, 아래 그림의 상태에서 한참을 기다려야합니다. 컴퓨터 정지한거 아니니 걱정마시고 맘편히 기다려주세요.

설치가 완료되면 Next 버튼을 클릭해주세요.

 

그냥 파이참 광고입니다. Next 눌러주세요.

 

설치가 완료되었습니다. Finish 버튼을 누르고 설치를 완료해줍니다.

 

 

 

 

Mac OS의 경우는 아래의 블로그에 잘 정리되어 있으니, 참고하시면 좋을 것 같습니다.

 

harlequink.tistory.com/42

 

[Python] 파이썬 아나콘다 설치하는 법 - Mac (맥북, iMac, Mac mini)

Anaconda 설치 파일 다운로드하기 ai나 머신러닝에서 가장 많이 사용하는 언어가 바로 파이썬이다. 맥북 유저로써 맥북에어에 파이썬을 설치해 보려 한다. 설치하는 법은 생각보다 간단하다. 먼저

harlequink.tistory.com

 

다음 편에는 파이썬 개발을 도와주는 IDE 중, 가장 인기가 좋은 Pycharm과 VS Code에 대한 내용으로 찾아 뵙겠습니다.

 

긴 글 읽어주셔서 감사합니다.

 

반응형
반응형

안녕하세요, 코린이를 위한 코딩 유치원에 오신 것을 환영합니다.

 

 

오늘 배워볼 내용은 대세 코딩 언어! '파이썬'입니다.

 

피이썬 로고 이미지 (출처. 위키백과)

 

전 세계에는 약 600가지 프로그래밍 언어가 있습니다.

각각의 언어들은 장단점이 존재하고, 그에 맞는 어플리케이션에 사용되고 있죠.

다시 말해 딱 하나만 배워서 모든 것을 다할 수 있고, 성능도 킹왕짱 좋은 프로그래밍 언어라는 것은 존재하지 않습니다.

하지만 트랜드에 따라 유행하는 언어는 존재하고, 그 중 하나가 파이썬입니다.

 

GitHub의 저장소에 기여한 순위 (개발자들의 언어 선호도를 대략적으로 알 수 있음)

 

아마 이 글을 보고 계신 분이라면, 파이썬에 관심이 조금 있으신 분이라고 생각됩니다.

여러분들은 많은 언어들 중 파이썬에 왜 관심 갖게 되셨나요?

 

파이썬의 장점

1. 배우기 쉽다

프로그래밍 언어는 컴퓨터가 이해하기 쉬운 언어인지, 사람이 이해하기 쉬운 언어인지에 따라 저급언어와 고급언어로 나뉩니다.

파이썬은 고급언어이기에 가독성이 뛰어날 뿐만 아니라, 쉬운 탓에 많은 사람들이 사용해서 공부하는데에 필요한 자료들이 넘쳐나죠.

그 덕분에 우리같은 비전공자도 정말 쉽게 배울 수 있습니다. 옛날부터 코딩의 기초로 생각되던 C언어와 비교하면 정말정말 쉽습니다!

저는 기계공학과를 나와서 C언어를 배운적이 있어서 파이썬 기초 문법을 모두 익히는데에 2주정도 걸렸지만, 코딩을 전혀 해보지 않은 분들도 한 달이면 배울 수 있다고 생각됩니다.

파이썬과 C언어 비교. 

2. 패키지가 많다

파이썬은 패키지들이 정말 다양하게 존재합니다.

패키지란 쉽게 말해, '어느 똑똑한 개발자가 내가 원하는 기능을 이미 코드로 짜놓은 것들의 모음'이라 할 수 있습니다.

예를 들어, 제가 파이썬으로 인터넷에서 특정 주제의 기사를 1000개 수집해야한다고 가정해 봅시다.

이때, 누군가가 이미 만들어 놓은 웹크롤링(웹에서 대량의 정보를 얻는 행위) 관련 라이브러리를 설치해서 필요한 함수를 사용한다면

코드 단 몇 줄로 그것이 가능합니다.

 

3. 정보가 많다

앞서 언급한 장점으로 인해 많은 사람들이 파이썬을 익히고, 그 내용을 공유하고 있습니다.

덕분에 내가 모르는 것이 있으면 구글에 파이썬+OOO으로 검색하면 웬만하면 다 나옵니다.

우리가 할 것은 선배들이 짜놓은 코드나 라이브러리를 적절히 Ctrl+C, Ctrl+V로 갖고와서 유기적으로 연결하기만 하면 되는 것입니다.

아래 영상은 방금 말씀드린 내용과 알맞는데다가 제가 너무 재밌게 본 영상이라 공유해봅니다.

www.youtube.com/watch?v=cXB8rCW7lto

 

파이썬의 쓸모

지금까지 글을 읽으셨다면 이런 생각이 드실거라 생각합니다.

"그래. 파이썬이 왜 좋은지는 알겠어. 근데 배워서 어따 써먹어?"

맞습니다. 우리의 시간은 소중하기 때문에, 누군가 아무리 좋다고 피를 토하면서 주장해도

내 삶에 써먹지 못하면 쓸모가 없는 것입니다. 파이썬은 개발자, 비개발자를 떠나서 매우 유용한 언어입니다.

 

1. 개발자 입장

웹 서비스 개발

빅데이터 수집, 분석

머신러닝, 딥러닝 등의 AI 관련 프로그래밍

 

2. 비개발자 입장

웹 상에서 필요한 정보를 크롤링 (상품 정보 수집, 기사 분석, 댓글 분석)

반복적인 사무 작업을 자동화 (엑셀 작업, 메일 보내기, PDF 변환)

 

파이썬에 대한 개인적인 생각

파이썬은 가성비 좋은 언어라고 생각합니다. 배운 것에 비해, 할 수 있는 것은 너무나도 많은 언어죠.

제가 파이썬을 배우고 나서 든 생각은 제가 컴퓨터의 기능을 너무나도 조금만 활용하고 있었다는 것입니다.

만약 파이썬을 배우시면 여러분들의 컴퓨터가 단순한 문서작업, 인터넷 검색용이 아닌,

내 시간을 아껴주고, 내 능력을 한 단계 높여주는 도구가 되어 있을 것이라 자신있게 말씀드립니다.

 

여러분들이 파이썬을 배우는데에 코딩 유치원이 도움이 되길 바랍니다.

 

긴 글 읽어주셔서 감사합니다.

반응형

+ Recent posts