"미운코딩새끼"의 두 판 사이의 차이

1번째 줄: 1번째 줄:


==김왼손과 집단지성들==
==김왼손과 집단지성들==
* 김왼손과 집단지성들은 잉끼유튜버 [[김왼손]]과 그 열혈 구독자들이 함께하는 코딩계의 아이돌 그룹입니다. 정규 1집 미운코딩새끼는 같은 이름의 파이썬 강의 "미운코딩새끼"의 내용과 구독자들이 추가한 내용으로 구성되어 있습니다. "미운코딩새끼"는 남녀노소 상관없이 누구나 기여할 수 있습니다. 여러분도 지금 참여해보세요. 앨범 제작 방식은 아래와 같습니다.
* 김왼손과 집단지성들은 잉끼유튜버 [[김왼손]]과 그 열혈 구독자들이 함께하는 코딩계의 아이돌 그룹입니다. 정규 1집 미운코딩새끼는 같은 이름의 파이썬 강의 "미운코딩새끼"의 내용과 구독자들이 추가한 내용으로 구성되어 있습니다. "미운코딩새끼"는 남녀노소 상관없이 누구나 기여할 수 있습니다. 여러분도 지금 참여해보세요.  
 
* '''김왼손과 집단지성들''' 멤버 모집 영상
<youtube>https://youtu.be/2V39BtC1wdo</youtube>
 
* 앨범 제작 방식은 아래와 같습니다.
** [[김왼손]]은 강의한다.
** [[김왼손]]은 강의한다.
** 집단지성들은 본다.
** 집단지성들은 본다.
12번째 줄: 17번째 줄:
**step4 . '편집'창에서 원하는 부분에 Ctrl + V
**step4 . '편집'창에서 원하는 부분에 Ctrl + V
**step5 . 하단 [변경 사항 저장] 누른다.  
**step5 . 하단 [변경 사항 저장] 누른다.  
* '''김왼손과 집단지성들''' 멤버 모집 영상
<youtube>https://youtu.be/2V39BtC1wdo</youtube>


* 아래는 현재까지 '''미운코딩새끼'''에 기여해 주신 분들입니다. 감사합니다.
* 아래는 현재까지 '''미운코딩새끼'''에 기여해 주신 분들입니다. 감사합니다.

2017년 9월 20일 (수) 12:50 판

1 김왼손과 집단지성들

  • 김왼손과 집단지성들은 잉끼유튜버 김왼손과 그 열혈 구독자들이 함께하는 코딩계의 아이돌 그룹입니다. 정규 1집 미운코딩새끼는 같은 이름의 파이썬 강의 "미운코딩새끼"의 내용과 구독자들이 추가한 내용으로 구성되어 있습니다. "미운코딩새끼"는 남녀노소 상관없이 누구나 기여할 수 있습니다. 여러분도 지금 참여해보세요.
  • 김왼손과 집단지성들 멤버 모집 영상
  • 앨범 제작 방식은 아래와 같습니다.
    • 김왼손은 강의한다.
    • 집단지성들은 본다.
    • 모두 함께 정리한다.
  • 생방송 중 정리 TIP "치고빠지기"
    • step1 . 메모장에 열심히 정리한다.
    • step2 . 정리한것 Ctrl+ a, Ctrl+ c 한다
    • step3 . 원하는 곳 [편집] 누른다.
    • step4 . '편집'창에서 원하는 부분에 Ctrl + V
    • step5 . 하단 [변경 사항 저장] 누른다.
  • 아래는 현재까지 미운코딩새끼에 기여해 주신 분들입니다. 감사합니다.
    • 김왼손 : 김왼손과 집단지성들에서 김왼손을 맡고있음
    • 켈리(Kelly)(rnrmf3apdlf@gmail.com) : List, Tuple 등 요약
    • MANGO 망고 (mingyu041209@naver.com) : 디자인 다듬기, 귀도 반 로섬 제작
    • 이프리트 (adbdcd123@naver.com)
    • 요거트 (changeunp04@gmail.com) : 아무것도 안한것 같은 나
    • 묘인봉
    • pro memoria
    • H2SO4
    • 이에스 (hubolab10@gmail.com) : '파이썬이란', '이 책을 읽는 방법' 제작
    • JW호박 pumkin (pjwbrain@naver.com) : 조금의 요약 + 홍보
    • Meta27-익명의 거북 (leeyoungmin2788@gmail.com) : 약간의 수정, 조건문, IDLE 커스텀, While문 , 문자열 등에 기여
    • 김레이 (leykim0907@naver.com)
    • 토미유튜브 Tommy Youtube (tjdwn1416@gmail.com) : 그룹의 막내와 무한루프 내용 추가
    • JY HAN (jyhan35@gmail.com)
    • 김씨가족 (wearekimsfamily@gmail.com) : 수정 및 추가, 소소한 부분 정리
    • 겜맨 (yun040803@naver.com)
    • 신준혁 (mrchunchu@naver.com)
    • 불탄고등어 (loveleftst@gmail.com) : 다시 센터 할게욤!
    • 스치 (junhg0211@gmail.com) 사용자:Junhg0211
    • 류도영(ryudo1023@gmail.com)
    • 호옹(v1000401@gmail.com) : 치고빠짐
    • 문용석 (weedss9@naver.com) : '귀도 반 로섬은 누구인가?' 제목 제작, '미운코딩새끼' 요약 다듬기, '파이썬이란?' 일부분 수정.

2 파이썬이란?

1989년 12월 귀도 반 로섬은 크리스마스 이브를 의미 있게 보내기 위해 취미로 인터프리터 언어를 만들기로 결심하였다. 그는 ABC 라는 프로그래밍 언어를 주로 사용하였는데 ABC 프로그래밍 언어의 장점은 그대로 살리고 단점은 제거 함을 시작으로 1990년 파이썬이 만들어졌다. 파이썬은 우리나라를 비롯한 동아시아 지역에서는 아직 대중적으로 사용되지 않지만 서양에서는 교육을 비롯해 많은 곳에서 사용되고 있다. 파이썬은 구글이 애용하는 언어 중 하나로 컴퓨터에서 쉽게 사용될 수 있는 언어이다. 파이썬은 다른 언어들에 비해서 쉽고 배우기도 편해서 요즈음 핫한 언어로 떠오르고 있다. 하지만 파이썬은 다른 언어에 비해 실행 속도가 빠른 앱을 만들기 어렵고 복잡한 명령어는 수행하기 어려워 빠른 속도가 필요한 앱에는 사용되지 않고 있다. 그래도 파이썬을 먼저 배우면 다른 언어를 배우기 쉬운 만큼 지금 먼저 같이 배우기를 추천한다.(프로그래밍 경험이 없는 사람도 같이 즐길 수 있다! 스크래치를 먼저 배우고 오면 더 쉽게 배울 수 있지만 말이다.)

3 귀도 반 로섬은 누구인가?

귀도 반 로섬 (Guiido van Rossum)은 네덜란드 출신의 컴퓨터 프로그래머이며, 프로그래밍 언어인 파이썬을 개발했다. 로섬은 2005년부터 2012년까지 구글에서 일했으며, 2013년부터 구글에서 퇴사해 현재까지 드롭박스에서 일하고 있다. 귀도 반 로섬은 Stichting Mathematisch Centrum (CWI)에서 일하면서 1986년에 BSD Unix에 glob () 루틴을 작성하고 기고했다. 또한 로섬은 ABC 프로그래밍 언어의 개발에 참여했으며, 나중에 a,b,c언어는 파이썬을 제작할 때 쓰였다.

4 이 책을 읽는 방법

요즈음 시대는 단순히 암기하는 시대가 아님. 이러한 명령문이 있다는 것을 알고 다시 활용하거나 구글에 검색할 수 있게 되면 이 강의는 많은 도움이 될 것임. 그래서 모든 내용을 외우려 하지 마시고 편안한 마음으로 봐주시면 좋겠음. 왜 구글으로 검색해야 하나요?) 구글은 네이버보다 코딩 관련 자료가 훨씬 많다. 구글에는 다양한 문제 예시와 강의들이 있어 검색하기 편함.

5 미운코딩새끼

  • 코딩을 처음 접하는 사람, 코딩을 포기한 사람, 코딩을 미워하는 사람을 위한 강의
  • 코딩을 왜 배워야 하는지, 왜 필요한지에 대해서 답을 주지 않음
  • 파이썬의 기초 문법을 아주 쉽게 배우는 강의
  • 코딩, 파이썬이란 이런 거구나 정도의 감을 잡을 수 있음

6 프로그램과 프로그래밍

6.1 코딩이란?

  • 코딩 (Coding) = 프로그래밍 (Programming)
  • 엄밀하게 말하면 다르지만 요즘엔 혼용해서 사용
  • 프로그래밍 : 프로그램을 만드는 작업을 말함

6.2 프로그램이란?

  • 프로그램 : 어떤 문제를 해결하기 위해서 명령을 모아놓은 것
  • 컴퓨터를 이용해서 우리 일상의 문제들을 해결할 수 있음
  • 프로그래밍 언어 : 컴퓨터가 알아듣는 언어. 다양한 프로그래밍 언어가 있음
  • 프로그램이라는 단어는 고대 그리스어에서 유래. 미리 정해놓은 것이라는 뜻
  • 방송 프로그램, 운동 프로그램처럼 일상에서도 프로그램이라는 말을 사용하고 있음
  • 일상 속 여러 프로그램들처럼 미리 정해놓은 것을 순서대로 실행하는 것을 말함

6.3 프로그램의 기본 구조

  • 모든 프로그램은 순차, 선택, 반복 세 가지 기본 구조로 구성되어 있음
  • 순차 : 위에서 아래로 한 줄씩 순서대로 명령을 수행함
  • 선택 : 분기. 선택의 순간, 예와 아니오 중 선택. 프로그램의 흐름을 바꿈
  • 반복 : 같은 명령을 조건이나 횟수에 따라 반복해서 되풀이하는 것

7 왜 파이썬일까요?

7.1 쉽다

  • 파이썬은 다른 언어에 비해서 비교적 쉬움. 하지만 코딩은 기본적으로 쉽지 않음
  • 우리가 사용하는 영어와 유사하기 때문에 친숙한 느낌을 받을 수 있음
  • 외국의 경우 파이썬을 입문 언어로 많이 사용. 우리나라도 바뀌는 중
  • 범용 프로그래밍 언어라서 게임, 보안 등 다방면에 사용 가능
  • 자바라는 언어로 "Life is Short!"를 분리하고 출력하는 코드
public static void main(String[] args) {
    String msg = "Life is Short!";
        for(String m : msg.split(" "))
            System.out.println(m);
}
  • 파이썬으로 "Life is Short!"를 분리하고 출력하는 코드
msg = 'Life is Short!'
print(msg.split())
  • 같은 기능을 수행하는데도 자바와는 달리 파이썬은 간결함

7.2 많다

  • 구글, 페이스북 같은 기업뿐만 아니라 파이썬 사용자가 많기 때문에 공유된 자료가 많음
  • 스택오버플로우 (https://stackoverflow.com/) : 코딩계의 네이버 지식인이라 할 수 있음
  • 질문이 엄청 많지만 답변은 이보다 훨씬 많음. 이를 읽는 것만으로도 공부가 됨
  • 파이썬의 모토 : "어떤 문제를 해결하는 가장 아름다운 방법이 있다."
>>> import this
The Zen of Python, by Tim Peters

Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Flat is better than nested.
Sparse is better than dense.
Readability counts.
Special cases aren't special enough to break the rules.
Although practicality beats purity.
Errors should never pass silently.
Unless explicitly silenced.
In the face of ambiguity, refuse the temptation to guess.
There should be one-- and preferably only one --obvious way to do it.
Although that way may not be obvious at first unless you're Dutch.
Now is better than never.
Although never is often better than *right* now.
If the implementation is hard to explain, it's a bad idea.
If the implementation is easy to explain, it may be a good idea.
Namespaces are one honking great idea -- let's do more of those!

7.3 빠르다

  • 실행속도가 빠르다는 것이 아니라 빠르게 개발이 가능하다는 말
  • 배터리 포함이라는 말이 있음
    • 제품을 구매했을 때 배터리가 포함되어 있어 따로 구매하거나 구할 필요가 없음
    • 파이썬은 제공하는 라이브러리들이 많아서 구현할 필요 없이 바로 가져다 쓸 수 있음
    • 보통 이런 라이브러리들은 충분히 검증이 되어있기 때문에 직접 만드는 것보다 성능이 좋음
    • 있는 바퀴를 만들지 말아라

8 파이썬 설치하기

  • https://www.python.org/ → Downloads → 3.X 클릭
  • 더블클릭 후 Install Now 누르기 전에 ?Add Python? 3.6 to PATH 체크하고 Next~!
  • 3.6.2 (가장 최신) 버전을 이용하는 것을 추천함. 본 강의는 3.6.0 버전 기준
  • 2.x 버전을 사용하면 미운코딩새끼의 예제가 정상적으로 동작하지 않을 수 있음
  • IDLE (Integrated Development and Learning Environment) : 통합 개발 환경
    • 인터렉티브 셸 모드
      • 컴퓨터와 핑퐁하듯이 주고받을 수 있는 모드
      • 한번 명령어를 던지면 컴퓨터가 대답을 하는 형식
    • 에디터 모드
      • 여러 줄의 코드를 작성할 수 있는 모드

9 입력과 출력

9.1 출력하기: print()

  • 괄호 안의 숫자나 문자열 등의 값을 출력해주는 함수
  • 파이썬에서 가장 많이 사용되는 함수
  • 문자열 출력 시 큰따옴표(" ")나 작음따옴표(' ')를 사용
  • 프로그래밍 언어는 컴퓨터와의 약속
  • 컴퓨터는 융통성이 없어서 개떡같이 말하면 개떡같이 알아 들음

9.2 입력하기: input()

  • 사용자에게 입력을 받아 컴퓨터에게 이야기해주는 것
  • 괄호 안에 문자열을 넣으면 프롬프트의 역할 수행
  • 입력 받은 값을 변수에 저장 가능
>>> age = input('당신의 나이는?')
당신의 나이는?

10 변수

10.1 변수와 변수이름

  • 변수에는 값을 저장 할 수 있음. 값을 할당한다고도 함
  • 저장되는 값은 변할 수 있음
my_int = 1
  • =은 할당한다는 의미. 1을 my_int에 할당한다는 의미
  • 1에 my_int라는 이름을 붙여줌
  • http://www.pythontutor.com/
  • 예전에는 메모리에 저장되어 있는 값을 불러오기 위해 번호 사용
  • 할당되는 번호가 많아지면서 관리가 어려워져 숫자 대신 이름을 붙여줌
  • 변수 이름은 타인과 함께 쓰기에 편한 이름으로 짓는 것이 좋음
  • 혼자만 이해할 수 있는 것보다 모두가 이해할 수 있게 작성하는 것을 권장
  • 글자, 밑줄 문자 가능
abdfdfdsfd___sdfsdfsjdklfj = 1
  • 대소문자 구분 가능
python = 1
PYTHON = 2
  • 유니코드 방식을 사용하기 때문에 한글도 지원한다.
파이썬 = 1
김왼손 = 20
  • 숫자로 시작하는 이름 불가
  • 띄어쓰기 불가. 띄어쓰기 대신 언더바(_) 사용

11 프로그램의 기본재료

11.1 숫자형, 문자열, 불린

  • 숫자형
    • 정수형 (integer)
>>> my_int1 = 1
>>> my_int2 = 2
>>> my_int3 = 4096
    • 실수형 (float)
>>> my_float1 = 1.0
>>> my_float2 = 2.0
>>> my_float3 = 3.14
  • type() 함수
    • 변수의 데이터 타입을 확인해줌.
    • 파이썬에서는 거의 모든 것이 객체
# sample code
  • 문자열 (string)
    • 작은따옴표 (' ') 또는 큰따옴표(" ")로 구분
    • 짝은 맞춰야 함
>>> my_str1 = 'python'
>>> my_str2 = "python"
>>> my_str3 = '3.14'
  • 불린 (boolean)
    • 참 (True)과 거짓 (False)
>>> my_bool1 = True
>>> my_bool2 = False

11.2 리스트, 튜플, 딕셔너리

  • 리스트 list
    • 컨테이너
    • 숫자형, 문자열 등을 한번에 모아서 씀
# sample code
>>> my_list = [ ]
  • 튜플 tuple
    • 컨테이너
    • 리스트와 비슷하지만, 값을 바꿀 수 없음
# sample code
  • 딕셔너리 dictionary
    • 컨테이너
    • 키와 값의 쌍으로 저장
# sample code

11.3 자료형 변환하기

  • float()
    • 실수가 아닌 걸 실수로 변환
# sample code
  • str()
    • 숫자를 문자열로 변환
# sample code
  • list()
    • 리스트로 변환
# sample code

11.4 주석

  • 컴퓨터는 알아듣지 못하는 우리끼리의 대화
  • #을 이용해서 주석 사용
  • 주석은 코드 해석에 큰 도움이 되므로 사용하는 것이 좋음
  • 다만, 너무 많으면 오히려 방해가 될 수 있음
>>> print(2 + 3)  # 계산결과를 출력
5

12 문자열

12.1 문자열

  • 큰따옴표나 작은따옴표로 문자를 나열
  • 값이나 순서 변경이 불가
>>> my_str = "김씨가족"
>>> print(my_str)
'김씨가족'
>>> type(my_str) 
>>> my_str = 'JW호박 Pumpkin'
  • 문자열 안에 큰 따옴표나 작은 따옴표를 넣고 싶을 때
    • 넣고 싶은 따옴표가 아닌 따옴표를 사용하여 문자열을 씌우고, 문자열에 넣고 싶은 따옴표를 넣음
>>> print("Let's go!")
>>> print('I said, "Hello!"')
  • , """ """ : 여러 줄을 한 문자열에 넣을 수 있음.
>>> my_str = """제스퍼
토미
메타
"""

12.2 문자열 포맷팅

  • %s : 문자열 대입에 사용
>>> my_str = 'My name is %s' % 'Young Choi'
>>> my_str
'My name is Young Choi'
  • %d : 정수 숫자형 대입
>>> '%d %d' % (1, 2)
'1 2'
  • %f : 실수 숫자형 대입
>>> '%f' % 3.14
'3.14'

12.3 format()

  • '{ }'.format() : 파이썬스러운 방법. 문자열을 자유롭게 표현하는 방법, 순서 지정 가능
>>> 'My name is %s' % '조희진'
'My name is 조희진'
>>> 'My name is{}'.format('조희진')
'My name is 조희진'
>>> '{} x {} ={}'.format(2, 3, 2*3)
'2 x 3 = 6'
>>> '{1} x {0} ={2}'.format(2, 3, 2*3)  # 괄호 안의 숫자는 순서를 지정
'3 x 2 = 6'

12.4 인덱싱

  • 주소, 위치, 색인
  • 위치에 따른 주소값
  • Python → 인덱스로는 0 = P, 1 = y, t = 2, h = 3, o = 4, n = 5
  • 실제 숫자와는 다르게 0부터 시작. 공백 포함
>>> my_name = '김왼손의 왼손코딩'
>>> my_name[3]
'의'
>>> my_name[8]
'딩'
  • 음수를 주소로 사용할 수 있음. 가장 마지막을 -1로 설정, 거꾸로 세어감
>>> my_name = '김왼손의 왼손코딩'
>>> my_name[-1]
'딩'
  • 리스트 자료형에서도 같음

12.5 슬라이싱

  • 자르다. 나누다
  • [시작:끝]
  • Python [1:4] → yth 를 의미 1부터 4전까지
  • Python [2:5] → tho 2부터 5전까지
my_name = '김왼손의 왼손코딩'
>>> my_name[5:7]
'왼손'
  • 앞이나 뒤의 값 생략 가능
my_name = '김왼손의 왼손코딩'
>>> my_name[:2]
'김왼'
>>> my_name[7:]
'코딩'
  • 기존 문자열은 그대로 존재, 복사해서 사용

12.6 메서드

  • 함수
  • 어떤 기능을 수행하기 위해 모아놓고 이름을 붙여 쉽게 불러 쓰게 함
  • string.split()
  • string만 사용할 수 있는 함수
  • 문자열이 공백을 기준으로 잘리는 split() 향후 설명
my_name.split()
['김왼손의', '왼손코딩']

12.7 독스트링

  • 문자열을 사용할 때 큰따옴표, 작은따옴표 세 개씩 사용하는 걸 주석으로 사용할 수 있음.
  • 기본 주석
>>> # 주석입니다.
  • 독스트링
>>> '''이것도 주석입니다'''
>>> """이것도 주석입니다"""
  • 함수 설명용으로 주로 사용하는 주석

12.8 이스케이프 코드

  • print 함수 end
  • 출력의 끝을 지정하는 방법
>>> print('', end='')

>>> print('집단지성', end='/')
집단지성/
>>> print('집단지성', end='미운코딩새끼')
집단지성미운코딩새끼
  • Escape code
  • 특별한 괄호 없이 사용
  • 특정 기능을 수행하는 문자의 조합
  • \n : 개행, 줄바꿈
>>> print('미운코딩새끼의 집단지성들')
미운코딩새끼의 집단지성들
>>> print('미운코딩새끼의/n집단지성들')
미운코딩새끼의
집단지성들
  • \t : tab 칸 (공백 4칸) 띄는 것.
  • \가 없는 키보드는 원화(\)
>>> print('미운', end='\t'); print('코딩')
미운    코딩
  • ; (세미콜론) 한 줄이 끝났다. 권장사항은 아님
  • C의경우 세미콜론(;)은 필수이나, 파이썬은 아님 ← 대신 파이썬은 콜론(:)을 자주 사용함

13 리스트

13.1 리스트

  • List : 몇만개의 자료를 한꺼번에 저장
  • immutable : 값 변경 불가, mutable : 값 변경 가능
  • [val1, val2…] ←리스트
  • 리스트에는 값을 처음부터 넣을 수 있고, 나중에 넣을 수도 있다.

13.2 값 추가하기

  • 리스트는 여러 개의 값을 한 개에 저장할 수 있다.
  • 수많은 숫자를 한 번에 저장. 인덱스 사용.
  • immutable(불변) vs mutable(가변)
  • immutable : 문자열, 튜플
  • mutable : 리스트, 딕셔너리
  • [val1, val2]
>>> my_list = []  # my_list라는 빈 그릇을 생성
[]
>>> my_list = [1, 2, 3]  # my_list에 처음부터 1,2,3 값을 저장
>>> std = ['이에스', '이에스2', '이에스3']
>>> std.append('토미')  # append 리스트에 추가하는 메서드
>>> std.append('찹쌀떡')

>>> humans.append('test') # 에러!!!

  • 리스트는 그릇이라 생각할 수 있다. 그릇을 만들지도 않고 append로 더할 수는 없음. append는 반드시 먼저 그릇(리스트)이 있어야 함
  • 리스트 중간에 끼워넣기: http://mwultong.blogspot.kr/2006/12/python-list-array-item-insert-example.html
  • insert 메서드, pop 메서드
  • append는 리스트에 값을 추가할 때 사용
  • append는 번호를 리스트 내의 번호를 붙여서 사용

13.3 인덱싱, 슬라이싱

  • del : delete
>>> animals =['코알라', '하이에나', '바다소', '땅다람쥐', '바다코끼리', '스컹크', '아나콘다']
>>> animals = [4]
'바다코끼리'
>>> del animals[4]  # 4번째 인덱스 삭제 
['코알라', '하이에나', '바다소', '땅다람쥐', '스컹크', '아나콘다']
>>> animals.append('바다코끼리')
>>> animals
['코알라', '하이에나', '바다소', '땅다람쥐', '스컹크', '아나콘다', '바다코끼리']
>>> animals[1:3]
['하이에나', '바다소']
animals[1:3]  #[1]부터 [3]전까지
[0]
[1]
[2]
[3]
[4]
[5]
[6]
'코알라'
'하이에나'
'바다소'
'땅다람쥐'
'스컹크'
'아나콘다'
'바다코끼리'

13.4 메서드

>>> animals.sort()
>>> animals
['땅다람쥐', '바다소', '바다코끼리', '스컹크', '아나콘다', '코알라', '하이에나']
  • list.count()
>>> animals.append('바다소')
>>> animals.count('바다소') ## 리스트에 값이 몇 개인가?
2
  • 길이(개수)를 알려줌. 내장함수(파이썬에서 이미 만들어둔 함수)
>>> del animals[1]
>>> len(animals)
7
>>> animals
['땅다람쥐', '바다코끼리', '스컹크', '아나콘다', '코알라', '하이에나', '바다소']
  • list.sort #sort 메서드 정렬 하는 메서드
animals.sort()
  • list.count
animals.count('바다소')  # animals 리스트에 ‘바다소’가 몇마리 있나? 2
animals.count('코알라')  # animals 리스트에 ‘코알라’가 몇마리 있나? 1
animals.count('하이에나')  # animals 리스트에 하이에나가 몇마리 있나? 1
len(animals)  # animals 리스트에 동물들이 몇마리 있는가 ? 6

14 튜플

14.1 튜플

  • Tuple (리스트와 거의 유사) : 값 변경 불가.
  • 리스트 대괄호[]
  • 튜플은 괄호 안써도 됨
my_tuple = 1, 2, 3
my_tuple = (1, 2, 3)
  • Packing : 자료를 쌓아놓는 것
  • Unpacking : 자료를 풀어놓는 것
num1, num2, num3 = my_tuple
num1 = 1
num2 = 2
  • 둘의 자료 순서가 바뀌려면..
num1, num2 = num2, num1

14.2 패킹, 언패킹

  • 여러 값을 모아서 저장
  • 리스트와 차이는 값을 변경할 수 없음! immutable
  • (val1, val2) 또는 val1, val2 괄호 없어도 됨
>>> my_tuple = () ## 빈튜플 작성 가능함
>>> my_tuple = 1, 2, 3
  • Packing vs Unpacking : 여러 개 값을 하나로 묶기 vs 묶인 값을 풀기 // Packing 뭔가를 쌓는 것. Unpacking 뭔가를 푸는 것.
>>> my_tuples = 1, 2, 3 ## Packing
>>> num1, num2, num3 = my_tuple ## Unpacking 각각에 튜플 값이 들어감

15 for

15.1 기본구조

  • 모든 변수를 거칠때까지 이 명령문 안에 있는 것을 반복
for 변수 in 컨테이너:
    실행할 명령 1
    실행할 명령 2
    ...
  • 변수가 다 떨어질 때 까지 반복
  • 4칸의 들여쓰기, tab, 8칸 들여쓰기
  • 들여쓰기는 모두 하나로 통일
  • 4칸 띄어쓰기 권장!
>>> for animal in animals:
    print(animal)
'땅다람쥐'
'바다코끼리'
'스컹크'
'아나콘다'
'코알라'
'하이에나'
'바다소'
>>> for num in [1, 2, 3]:
    print(num)
1
2
3
  • 반복을 나타내는 중요한! 문법 ( 파이썬에서 가장 중요한 요소중에 하나입니다)
  • 반복 처리 = 컴퓨터 주특기. 빠르고 정확하게 수행 가능
  • 파이썬에서는 두 가지가 있음 for, while
  • 파이썬의 들여쓰기 : 탭과 스페이스바는 섞어쓸 수 없음. 4칸!
  • 콜론과 들여쓰기(띄어쓰기 4칸)가 중요 ← 코드블록
for 변수 in 컨테이너 : 
    실행할 명령1  # 코드블럭
    실행할 명령2
  • 컨테이너의 첫 번째 값이 변수에 들어간 다음 명령1과 2 실행
  • 컨테이너의 두 번째 값이 변수에 들어간 다음 명령 1과 2 실행…
  • 컨테이너의 마지막 값까지 반복
>>> for animal in animals: ## animals의 값을 불러다 모두 출력
    print(animal)

'땅다람쥐'
'바다코끼리'
'스컹크'
'아나콘다'
'코알라'
'하이에나'
'바다소'
>>> for num in [1, 2, 3]:
            print(num)

1
2
3

15.2 range()

  • range(n)은 0부터 n 전의 숫자까지를 나타낸다.
  • 또, range(n, i)는 n부터 i 전의 숫자까지를 나타낸다
  • 예) range(3) → [0, 1, 2]
  • range(1,4) → [1, 2, 3]
  • 내장 함수
>>> range(3)
>>> range(0,3)
  • for n in [0, 1, 2]:과 for n in range(0,3): 같음 0부터 수를 시작해서 세 번째 숫자 전(2)까지
>>> for n in range(0,3):
            print(n)
0
1
2

15.3 for x 2

  • 반복문 안의 반복
>>> for j in range(2, 10):
    for i in range(1, 10):
        print({}x{}={}.format(j, i, j*i))
  • 구구단 2단
>>> for i in range(2, 10):
    print('{}x{}={}'.format(2,i,2*1))          #작은따옴표를 넣을 것!
  • 구구단
>>> for j in range(2, 10):
    for i in range(1, 10):
        print('{}x{}={}'.format(j,i,j*i))

15.4 컴프리헨션

    • 매우매우 많이 사용됨
    • 여러줄의 코드를 한줄로 나타내는 것
>>> numbers = [1,2,3,4,5,6,7,8,9,10]
>>> odd_numbers = []

>>> for number in numbers:
    if number % 2 == 1: #2로 나눴을때 1이 남으면
        odd_numbers.append(number)

print(odd_numbers)
  • 위에는 numbers에서 odd_numbers로 홀수만 옮기는 것
  • 위의 코드와 아래의 코드는 같다.
>>> [number for number in numbers if number % 2 == 1]
>>> for i in range (0, 11):
     print (i)
  • C언어로 작성해 본다면
for (i = 1, i < 10, i++)
     printf("파이썬 초보강의 들어보기!")
  • JS로 작성해 본다면
for (var i=1; i < 10; i++)
	console.log("JS욥")
이를 통해 우리는 파이썬이 다른 언어들보다 훨씬 쉽다는 것을    있습니다.

print animals [0:5]
  • 어렵지만 많이 쓰임. 우선 알아는 두고 갑시다.
  • 갑자기 엄청 고급으로 넘어갑니다! 컴프레션은 어려운데 많이 쓰여요. 그래서 알아두면 좋긴해요. 지금 말고 나중에라도 이런 게 있다는 것만 알아두시면 좋아요. 그냥 바로 볼게요. 하시고 뭘 할거냐면요. 넘버스라는 리스트가 있어요. 1 2 3 4 5 6 7 8 9 10 이라는 리스트가 있어요. odd_numbers라는 리스트가 있어요. numbers에서 홀수 값만 뽑아와서 1, 3, 5, 7, 9만 넣을 거에요.
>>> numbers=range(1,11)
for number in numbers:
    if number % 2 == 1:
        odd_numbers.append(number)

>>> [number for number in numbers if number %2 == 1]
  • 만약에 넘버 퍼센트라는 것은 얘를 2로 나눴을때 나머지가 1이냐 라는 것이죠. 2를 2로 나누면 0이 남고 이렇게 영 일 영일 이러면서 홀수와 짝수를 구분할수 있고 홀수인것만 오드 넘버스에 넣어라 이 의미죠. 이거는 고급기술이지만요 말씀드리는것은 정말 많이 사용되기 때문이죠. 네 한번 실행시켜 보세요. 일삼오칠구만 나오는걸 보실수 있어요.
  • 홀수 출력해보세요
>>> numbers = [1,2,3,4,5,6,7,8,9,10]
>>> odd_numbers = []
>>> for number in numbers:
    if number % 2 == 1:  # 2로 나눌 때 나머지가 1인가 묻는 문장, 즉 홀수 판단문
        odd_numbers.append(number)
>>> print(odd_numbers)
  • 이걸 바꿔봄
>>> [number for number in numbers if number % 2 ==1]
>>> numbers = [1,2,3,4,5,6,7,8,9,10]
>>> odd_numbers = []

>>> for number in numbers:
    if number % 2 == 1: # 2로 나눌 때 나머지가 1인가 묻는 문장, 즉 홀수 판단문
        odd_numbers.append(number)

>>> print(odd_numbers)

>>> test = [number for number in numbers if number % 2 ==1]
>>> print(test)

16 연산자

16.1 할당

  • 예전에는, 변수의 이름으로 숫자를 사용했다.
  • 그런데 숫자로 사용 하다보니, 변수가 많아져게 되었을 때 헷갈리게 되었다.
  • 그래서 나온 것이 바로 이름!
  • =은 할당 연산자이다.
  • =을 기준으로 왼쪽에 있는 변수에 오른쪽에 있는 값을 할당해 주는 것이 할당 연산자이다.
  • +=은 복합할당 연산자이다.
  • += 기준으로 왼쪽에 있는 변수에 오른쪽에 있는 값을 더해주는 것이다.
>>> my_int = 1
>>> my_float = 2.0
>>> my_list = []

>>> count = 0
>>> count = 1
>>> count
1
>>> count += 1
>>> count
2
  • 이 코드를 실행시키면, 'my_int'라는 이름의 변수 안에는 1이, 'my_float'라는 이름의 변수 안에는 2.0이, 'my_list'라는 이름의 변수 안에는 []가 들어가 있게 되는 것이다.

16.2 산술

  • 숫자 자료형끼리 연산을 할 수 있게 해주는 연산자들이다.
  • '+', '-', '*', '/' 모양으로 쓴다.
    • '*'? 곱하기?
    • 우리는 이 표시를 Asterisk라고도 하고, '곱하기'를 나타낸다.
>>> 3 + 3
6
>>> 20 - 5
15
>>> 6 * 2
12
>>> 12 / 3
4.0
  • 이런식으로 더하기, 빼기, 곱하기, 나누기를 할 수 있다!
  • 그리고 이것과, 특수연산자라는 것이 있다!
    • '**(제곱)', '//(몫)', '%(나머지)'가 있다.
>>> 3 ** 2 # 3의 2제곱
9
>>> 4 ** 3 # 4의 3제곱
64
>>> 7 / 3
2.3333333333333335
>>> 7 // 3 # 7 / 3의 몫 (소수점 아래 부분을 없앤 정수 값!)
2
>>> 7 % 3 # 7 / 3의 나머지
1
  • % 연산자같은 경우에는 다른 목적으로 사용되는 경우도 있다.
>>> numbers = [1, 2, 3, 4, 5, 6, 7]
>>> for number in numbers:
...     print(number)
1
2
3
4
5
6
7
  • 이렇게 되는 것이 있는데, 이 값들이 홀수인지, 짝수인지 구별하고 싶다.


  • 우리가 생각하기에는, [1, 3, 5, 7]이 홀수이고, [2, 4, 6]이 짝수이다.
  • 그렇다면 우리는 나머지 계산 (%)을 이용해서 홀수와 짝수를 골라내는 프로그램을 만들어 볼 것이다!
    • 컴퓨터는 당연히 사람이 생각하는 이런 어려운걸 알 리 없다!
    • 그러니까, 어떤 수를 2로 나눠서, 나머지가 0이 나오면 짝수이다!
>>> if 1 % 2 == 1:
...     print("홀수")
홀수
>>> if 2 % 2 == 0:
...     print("짝수!")
짝수!
  • 우리는 이렇게 홀수, 짝수를 알아볼 수 있다.
  • if에 대해서는 아래에 서술되어 있음──
>>> numbers
[1, 2, 3, 4, 5, 6, 7]
>>> for number in numbers:
...     if number % 2 == 1:
...         print("홀수!")
...     else:
...         print("짝수")
홀수!
짝수
홀수!
짝수
홀수!
짝수
홀수!
>>> for number in numbers:
...     if number % 2 == 1:
...         print(number, "는 홀수!")
...     else:
...         print(number, "는 짝수!")
1  홀수!
2  짝수!
3  홀수!
4  짝수!
5  홀수!
6  짝수!
7  홀수!

16.3 문자열

  • 문자열도 연산자가 있다!
    • '+', '*'
  • 사칙연산 할 때 사용하는 연산자이지만, 문자열에서도 사용할 수 있다.
>>> '김왼손'+ 'X' + '엘리스'
'김왼손X엘리스'
>>> '안녕하세요' + '반갑습니다'
'안녕하세요반갑습니다'
>>> '안녕하세요' + ' ' + '반갑습니다'
'안녕하세요 반갑습니다'
  • 붙어요!
  • 문자열에서 '+'는, 연결시키는 연산자이다.
  • 그냥 앞 문자열 뒤에 뒷 문자열이 붙는다.


  • 이거 말고 곱하기 연산자도 있다.
>>> '안녕' * 3
'안녕안녕안녕'
>>> '안녕' * 10
'안녕안녕안녕안녕안녕안녕안녕안녕안녕안녕'
>>> '안녕 ' * 5
'안녕 안녕 안녕 안녕 안녕 '
  • 안녕안녕안녕안녕안녕안녕안녕안녕안녕!
  • IDLE에는 콘솔을 정리하는 방법이 없기 때문에, print()문을 많이 입력 함으로 정리를 대체할 수 있다.
>>> def cls():
...     print('\n' * 100)
... 
>>> cls()


# (이하 생략)
  • 이런 식으로 '엔터'키에 해당되는 문자인 '\n'을 100번 입력한 것과 같은 것이 되는 것이다.
    • = 엔터를 100번 누름.

16.4 비교

  • 비교연산자는 말 그대로 비교를 하는 것이다.
    • '==' 은 '왼쪽에 있는 피연산자와 오른쪽에 있는 피연산자가 같냐?'를 묻는 것이다.
    • '!=' 는 '왼쪽에 있는 피연산자와 오른쪽에 있는 피연산자가 다르냐?'를 묻는 것이다.
    • 잠깐! 여기서 나오는 값은, 불린 값(True / False)이다
      • 만약, 1 == 1을 사용 했다면, 결과는 True가 되는 것이다.
    • '>' 는 '왼쪽에 있는 숫자가 더 크냐?'를 묻는 것이다.
    • '<'는 '오른쪽에 있는 숫자가 더 크냐?'를 묻는 것이다.
    • '>='는 '왼쪽에 있는 숫자가 더 크거나 같냐?'를 묻는 것이다.
    • '<='는 '오른쪽에 있는 숫자가 더 크거나 같냐?'를 묻는 것이다.
>>> 1 < 2
True
>>> 2 < 1
False
>>> 1 != 1
False
>>> 1 == 1
True
>>> 4 <= 6
True
>>> 5 <= 5
True
  • 이런 식으로 비교를 해서 True인지, False인지를 알 수 있다.

16.5 논리

  • Python의 논리 연산자: 3개가 있다.
    • 'and', 'or', 'not'
    • and '그리고' , or '또는' , not '아닌' 이라는 뜻이다.
>>> True
True
>>> False
False

>>> True and True
True
>>> True and False
False
>>> False and False
False

>>> True or True
True
>>> True or False
True
>>> False or False
False

>>> not False
True
>>> not True
False
  • and는 하나라도 False이면 False를 출력하는 것이다
  • or는 하나라도 True라면 True를 출력하는 것이다
  • not은 그냥 False랑 True를 바꿔버린다.
>>> height = 120
>>> age = 8

>>> height > 140 and age > 10
False
  • height > 140은 False, age > 10은 False이므로 False and False 는 False이다.
>>> h = 190
>>> age = 9

>>> h > 140 and age > 10
False
  • 키는 되는데 나이가 안 된다는 것이다!
>>> h = 150
>>> age = 32

>>> h > 140 and age > 10
True
  • 키도 140보다 크고, 나이도 10살보다 크기 때문에 놀이기구를 탈 수 있다!!

16.6 멤버쉽

  • 마지막 연산자: 멤버쉽
  • 리스트같은 것에 값이 있는지, 없는지를 확인한다.
    • 파이썬은 영어 기반이여서 '있다'와 '있지 않다'를 뜻하는 'in'과 'not in'이 있다.
>>> 김왼손과_집단지성들 = ['조희진', '불탄고등어', '요거트', '류도영', '스치', '망고', 'Meta', '호박']
>>> 김왼손과_집단지성들
['조희진', '불탄고등어', '요거트', '류도영', '스치', '망고', 'Meta', '호박']
>>> '스치' in 김왼손과_집단지성들
True
>>> '이에스' in 김왼손과_집단지성들
False
>>> '이에스' not in 김왼손과_집단지성들
True
>>> 김왼손과_집단지성들.append('이에스')
>>> '이에스' not in 김왼손과_집단지성들
False
>>> '이에스' in 김왼손과_집단지성들
True
  • 이렇게 그냥 영어로 연산자를 알아볼 수 있다!
  • 응? 여기 김왼손이 빠진?,,,

16.7 삼항연산자

  • if문을 이용해 변수의 값을 선택할 때, 보통 우리는 이렇게 한다
  • a, b 두 값중 더 큰 값을 넣을 때
>>> a, b = 1, 2
>>> if a > b:
... 	print(a, end="")
... else:
... 	print(b, end="")
2
# 더 큰 값을 출력하는 if-else문이다.
  • 하지만, 우리가 코딩을 하다 보면, 이렇게 긴 문장을 쓰면 근처에 있는 방대한 양의 if문과 겹쳐저, 잘 안 보일 수도 있고,
  • 어쨌든! 삼항연산자라는것은 if-else문을 한 줄로 줄인 것이다.
>>> a, b = 1, 2
>>> print(a if a > b else b)
2
  • 아니!? 무려 2가 출력되었다!
  • "값1 if 조건 else 값2" 는 '조건'이 True일 때는 값1을 출력하고, False일 때에는 값2를 출력한다.

17 조건문

17.1 if

  • 기본 구조
if 조건:
    실행  명령 1
	실행  명령 2
  • if문은 조건문의 참, 거짓 여부를 판단후:
    • 참일 경우 if 문구뒤의 조건문을 실행
    • 거짓일 경우 if 문구뒤의 조건문을 실행하지 않음
  • if문구를 반복해서 여러번 사용가능
  • if문구 안에 다른 if문구를 사용가능
  • if-elif 문구에서의 조건은 or, and를 사용하여 한개 이상을 추가 가능
>>> number = 1
>>> result_first = "number = 1 은 참이다"
>>> result_second = "number는 홀수이다"

>>> if number == 1:
...    print(result_first)
>>> if number % 2 == 0:
...    print(result_second)
# "number = 1 은 참이다" 만 출력되고 뒤의 if 문구는 거짓이기때문에 "number는 홀수이다" 는 출력을 하지않음

>>> if number == 1 and number % 2 != 0:
...     print(result_first)
...     print(result_second)

number == 1  참이고 number % 2 != 0  참이기 때문에 if문구안에 있는 모든것을  실행
"number = 1 은 참이다"
"number는 홀수이다"
예시 2
  • 파일로 만들어 실행 했을때
input_name = '김왼'

if input_name == '김왼손':
    print('똑똑')
    
if not input_name == '김왼손':
    print('바보')

출력: 바보

17.2 else, elif

else:
    실행할 명령 1
    실행할 명령 2
  • if, elif 를 포함한 모든 문구가 거짓일때 if문을 실행하지않고 else 문으로 바로 건너가서 else 문구안에 있는 조건문을 실행
  • if, elif, else 문구는 같은 들여쓰기(indentation) 에 있어야 if -> elif -> else 문구로 넘어감
  • 가장 처음에는 if를 쓰고 가장 마지막에는 else를 쓰고, 그 전에는 elif를 쓴다
  • else 이후의 if, else, elif 스크립트는 인식 하지 못한다
>>> number = 1
>>> result_evenNum = "짝수입니다"
>>> result_oddNum = "홀수입니다"

>>> if number % 2 == 0:
...    print(result_evenNum)
... else:
...    print(reslut_oddNum)
홀수입니다
  • 1 % 2 == 1이기 때문에!
elif:
    실행할 조건1
    실행할 조건2
            .
            .
            .
  • else, if 의 줄임말로써 if 조건문이 거짓일경우 다음 조건인 elif 문의 참,거짓을 판별후 실행문 실행여부로 넘어감
speed = 10

if speed > 100:
   print("과속")
elif speed < 30:
   print("저속")
else:
   print("적정속도")
저속
  • speed = 10 이기때문에 첫번째 조건문인 if문구에서의 참,거짓 판별후, elif 문구의 참, 거짓으로 넘어간다.
  • 여기서의 속도는 10이기 때문에 elif 문의 speed < 30 이 참이므로 elif 실행문을 실행하고 else문으로 넘어가지는 않는다

17.3 들여쓰기

  • 들여쓰기 indentation (인덴테이션)
  • 보통은 tab 키를 눌러서 줄의 구분을 함 tab키 == 스페이스4번 입력
  • 코딩을 깔끔하고 에러없이 하기위해서 필수적으로 줄맞춤을 해야함
  • if문구에서 줄이 맞지 않을경우 IndentationError 를 불러옴
  • 들여쓰기 혹은 줄맞춤이 제일 중요함.
num1 = 1
num2 = 2
num3 = 3

if num1 == 1:
    print("num1 은 1과 값이 같다")
    if num2 == 2:
        print("num2 은 2과 값이 같다")
        if num 3 ==4:
            print("3은 4와 값이 같은가?")
        else:
            print("num3 은 3과 값이 같다")
else:
    print("???")

# ↓ 결과
"num1 은 1과 값이 같다"
"num2 은 2과 값이 같다"
"num3 은 3과 값이 같다"

17.4

  • if 문은 한줄로 이루어진 구문으로 쓰기 어렵다.
  • if문은 여러줄로 쓰는게 편하다
  • IDLE는 한 줄로 쓰는것에 맞춰져있다. 다시 말하지만 idle는 컴퓨터와 핑퐁을 치는 원리임. 나만 2번 칠 수 없음. 하지만 에디터 모드는 나만 여러번 쳐도 됨
  • if문은 Editor Mode에서 쓰는 것이 편하다.

18 while

18.1 기본구조

  • 반복해서 문장을 수행해야 할 경우 사용한다
  • True(사실)이면 스크립트 계속 반복
  • False(거짓)이면 스크립트 끝남
while 조건:
	실행  문장 1
	실행  문장 2
	...
  • while도 if와 마찬가지로 들여쓰기를 사용해서 사용하는 경우가 많다 보니, Editor Mode에서 코딩을 하는 것이 쉽다.
예제 1
Whlie count < 3:
    print('횟수:', count)
    count += 1
예제 2
count = 0

while count < 10:
    count += 1
    if count < 4:
        continue
    print('횟수', count)
    if count == 8:
        break

18.2 continue, break

  • for, while 문구 안에서의 루프도중 결과값을 무시하고 그대로 실행할지, 강제로 종료후 루프를 빠져올지 결정하는 코드
countdown = 10
print("나랑 결투를하자")
print("10초후 총을 발사할것이다")
print(str(countdown) + "!")

while countdown > -10 :
    countdown = countdown - 1
    if countdown == 2:
         print(str(countdown) + "!")
         continue
    elif countdown == 1:
         print(str(countdown) + "!")
         print("Bang!")
         break

countdown 은 while 루프가 한바퀴 실행될때마다 1씩 줄어들게된다 하지만 continue 문이 2와 같을때까지 중간과정을 생략하고 진행하게 된다 if문구가 끝나고 elif 문구의 countdown 이 1에 도달했을때 실행문을 출력하고 while 문구는 countdown이 -10보다 클때까지 실행을 해야되지만 countdown 이 1일때 break 문구로 루프를 종료하였다

"나랑 결투를하자"
"10초후 총을 발사할것이다"
"10!"
"2!"
"1!"     
"Bang!"

18.3 무한 루프

  • 파이썬에서 무한 루프는 while문으로 구현할 수 있다. 다음은 무한 루프의 기본적인 형태이다.
while True: 
    수행할 문장1 
    수행할 문장2
  • while문의 조건문이 True이므로 항상 참이 된다. 따라서 while문 안에 있는 문장들은 무한하게 수행되는 것이다.
  • 무한 루프의 예
while True: 
    print("지우셔도 됩니다.") 

지우셔도 됩니다
지우셔도 됩니다
지우셔도 됩니다
지우셔도 됩니다
지우셔도 됩니다
지우셔도 됩니다
지우셔도 됩니다
지우셔도 됩니다
지우셔도 됩니다
......

19 딕셔너리

19.1 딕셔너리

19.2 값 추가하기

"""TBD"""

19.3 값 접근하기

"""TBD"""

19.4 값 제거하기

"""TBD"""

19.5 메서드

"""TBD"""

20 함수

20.1 함수

20.2 함수의 종류

"""TBD"""

20.3 함수를 사용하는 이유

    • 코드의 불필요한 반복을 막는다.
    • 짧게 작성할 수 있다.
    • 프로그램의 순서 또는 흐름을 쉽게 볼 수 있다.
"""TBD"""

21 모듈

21.1 모듈

21.2 random

  • random이란 여러분들이 생각 하듯이, 난수를 출력하는 것이다.
  • 많이 쓰이는 함수에는 이런 것들이 있다.
    • random.random()
      • 0에서 1까지의 실수를 출력하는 함수.
    • random.randint(a, b)
      • a에서 b까지의 정수를 출력하는 함수.
    • random.shuffle(list)
      • list를 섞는 함수.
    • random.choice(list)
      • list에서 아무거나 하나를 선택한다.
>>> import random
>>> print(random.random())
0.20928967330889192
>>> print(random.randint(0, 100))
47
>>> my_list = [i * 2 for i in range(9)]
>>> random.shuffle(my_list)
>>> print(my_list)
[10, 8, 0, 14, 4, 6, 2, 12, 16]
>>> print(random.choice(my_list))
4
  • 으아니?! 여기는 이렇게 나오지만, 당신은 이렇게 나오지 않았을지도 모른다.
  • 이렇게, 예시에서의 출력과 자신의 출력이 다른 이유는, random이란, 난수를 출력하는 함수이기 때문이다.

22 예외 처리

"""try:
    ...
except [발생 오류[as 오류 메시지 변수]]:
    ..."""

23 객체

    • 클래스라고도 한다. 객체를 생성하기만 하면 되기 때문에 함수를 사용하는 경우와 달리 매우 간단해진다.
class object():
        ...

24 코드 스타일

24.1 PEP8

"""TBD"""

25 구글링

"""TBD"""

26 스트리밍 강의 풀버전

  • 1주차
  • 2주차
  • 3주차
  • 4주차

27 플러스 알파

28 플러스 베타

  • 파이썬에 대한 궁금한 점은 여기에 적어주세요.

파이썬문법이 저만 어려운가요?

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}