본문 바로가기

혼자 공부하는 파이썬

[혼공학습단 10기] 혼자 공부하는 파이썬 1주차

진도 : Chapter 01 ~ 02-2

기본 미션 : p.101 3 ~5번 실행 결과 쓰고 인증하기

선택 미션 : 모르는 용어 찾아 혼공 용어 노트에 정리하고 인증하기

 

 

 

1주차  기본미션

 

아래 연습문제 사진은 알라딘에서 ebook 구매후 자체 ebook앱에서 필기하고 캡쳐한 것 입니다.

 

혹시나 문제가 될까봐 인증합니다,,,

직접 풀어보고 검사해본 결과 3번 두 번째는  틀렸다.

4번의 5번째 출력은 문자열에 없는 문자를 선택하고 있으므로 인덱스가 범위를 넘어서 IndexError예외가 발생한다.

 

오답노트

3번 문제의 2번째 출력 결과는 //// 이다. => 이스케이프 문자 '\\'의 출력은 \이기 때문이다.

이스케이프 문자 제대로 기억하기!!

 

 

아래는 자습 용도로 정리한 내용입니다.


 

 

Chapter 01 파이썬 시작하기

 

01-1 파이썬을 하기 전에 읽는 아주 간단한 설명

 

컴퓨터 프로그램 : 컴퓨터가 무엇을 해야 할지 미리 작성한 진행 계획

이진 숫자 (binary digit) : 0과 1로 이루어진 컴퓨터가 이해할 수 있는 값

이진 코드(binary code):  컴퓨터가 이해하는 이진 숫자로 이루어진 코드

프로그래밍 언어 (programming language) : 프로그램을 만들려는 목적으로 사람이 이해하기 쉬운 언어를 이용해 만들어진 언어

소스 코드(source code) : 프로그래밍 언어로 사람이 쉽고 읽고 이해할 수 있도록 만든 코드

코드 실행기 : 프로그래밍 언어를 컴퓨터가 이해할 수 없음, 프로그래밍 언어를 이진 숫자로 변환해 주는 코드 실행기 (사람의 언어를 컴퓨터로 번역 해주는 일종의 번역기)

 

01-2 파이썬을 배우기 위해 준비해야 할 것들

 

파이썬을 하려면 파이썬 코드를 입력할 수 있는 텍스트 에디터와 파이썬 코드를 실행할 수 있는 도구인 파이썬 인터프리터가 필요하다.

 

01-3 이 책에서 자주 나오는 파이썬 용어들

 

문장(statement) : 실행할 수 있는 코드의 최소 단위

프로그램(program): 문장들이 모인 것

표현식(expression) : 어떠한 값을 만들어 내는 간단한 코드 ex) 숫자, 수식, 문자열

# 표현식 
print(273)
print(10 + 20 + 30 * 10)
print("Python Programming")

키워드(Keyworld)

 특별한 의미가 부여된 단어로 파이썬이 만들어질 때 이미 사용하겠다고 예약해 놓은 것

 프로그래밍 언어에서 사용자가 이름을 정할 때 키워드를 사용하면 안된다.

 ex) False, None, True, return, while, except 등

파이썬의 키워드를 확인해보는 코드

식별자(identifier)

프로그래밍 언어에서 이름을 붙일 때 사용하는 단어이다. 주로 변수 또는 함수 이름 등으로 사용된다.

  • 키워드를 사용하면 안 된다.
  • 특수 문자는 언더 바 (_)만 허용된다.
  • 숫자로 시작하면 안 된다.
  • 공백을 포함할 수 없다.

식별자를 쉽게 이해할 수 있는 두 가지 방법 - 스네이크 케이스와 캐멀 케이스

 

스네이크 케이스(snake case)

단어 사이에 언더 바 기호를 붙여 식별자를 만든다.

ex) item_list , rotate_angle

 

캐멀 케이스(camel case)

단어들의 첫 글자를 대문자로 만들어 식별자를 만든다.

ex) ItemList , RotateAngle

캐멀 케이스의 두 가지 유형

  • 첫 번째 글자를 대문자로 적는다.(파이썬에서 사용)
  • 첫 번째 글자를 소문자로 적는다.(파이썬에서 사용하지 않음)

주석(comment)

프로그램의 진행에 전혀 영향을 주지 않는 코드

프로그램을 설명하기 위해 사용한다. 파이썬은 주석으로 처리하고자 하는 부분 앞에 # 기호를 붙여 주석 처리한다.

 

참고 : Pycharm 사용 시 주석 처리 단축키 : [ctrl+ /] , 한컴 입력기일 때는 단축기가 동작하지 않으므로 주의!!

          Microsoft 입력기로 바꿔야함

 

연산자

스스로 값이 되는 것은 아니고 값과 값 사이에 무언가 기능을 적용할 때 사용하는 것

ex) + , - , *

 

자료 = 리터럴(literal)

문자이든지 숫자이든지 어떠한 값 자체

 

출력

  print() : 파이썬의 기본적인 출력 방법 , 함수의 괄호 안에 출력하고 싶은 것을 나열해서 사용한다.

# 하나만 출력
print("Hello Programming")

# 여러 개를 출력
print(10, 20, 30, 40, 50)
print() # 줄 바꿈하기 - 빈 줄을 출력한다.
print("안녕하세요", "저의", "이름은", "moonchive입니다.")

 


Chapter 02 자료형

 

02 -1 자료형과 문자열

 

자료형(data type): 자료의 형식, 기능과 역할에 따라 자료를 구분해 놓은 것

 기본적인 자료형

  • 문자열 (string) :  ex) "안녕하세요", "Hello World"
  • 숫자 (number) : ex) 52, 273, 103.52
  • 불 (boolean) : ex) True, False                       

자료형 확인하기

type() 함수를 사용

# 문자열 - str
print(type("안녕하세요")) # <Class 'str'>

# 정수 - int
print(type("273")) # <Class 'int'>

 

문자열 만들기

 

  • 큰따옴표로 문자열 만들기, 작은따옴표로 문자열 만들기
print("안녕하세요")

print('안녕하세요')
  • 문자열 내부에 따옴표 넣기 
# print(""안녕하세요"라고 말했습니다") 는 에러 발생

print('"안녕하세요"라고 말했습니다')
print("'안녕하세요'라고 말했습니다")

 

출력 결과&nbsp; 첫번째 출력은 Syntax Error 발생

  • 이스케이프 문자를 사용해 문자열 만들기

         \" :  큰따옴표를 의미  \' : 작은따옴표를 의미

        \n :  줄바꿈을 의미     \t : 탭을 의미   \\ : 역슬래시(\)를 의미

 

 

  • 여러 줄 문자열 만들기

     한 줄에 긴 코드를 입력하고, 줄바꿈 문자도 많이 사용하면 가독성이 떨어진다

 

      => 여러 줄 문자열 기능 : 큰 따옴표 또는 작은 따옴표를 세 번 반복한 기호 사용

 

  • 줄바꿈 없이 문자열 만들기

        첫 번째 출력은 위 아래로 의도하지 않은 줄바꿈이 들어간다.

        \ 기호 를 사용하여줄바꿈이 들어가지 않게 한다.

 

문자열 연산자

  • 문자열 연결 연산자 : +

     두 문자열을 연결해서 새로운 문자열을 만들어냄. 문자열은 무조건 문자열끼리 + 연산자를 사용해서 연결해야 한다.

  • 문자열 반복 연산자 : *

      문자열을 숫자와 * 연산자로 연결하면 문자열을 반복할 수 있다.  

# 문자열 연결 연산자
print("안녕" + "하세요")
print("안녕하세요" + "1")
# print("안녕하세요" + 1 ) TypeError 발생 

# 문자열 반복 연산자
print("안녕하세요" * 3)
print(3 * "안녕하세요")

 

  • 문자 선택 연산자 (인덱싱) : []

      문자열 내부 문자 하나를 선택하는 연산자이다. 대괄호 [] 안에 선택할 문자의 위치를 지정하며, 이 숫자를 인덱스라고         부른다. 파이썬은 문자열의 위치를 셀 때 숫자를 0부터 세는 제로 인덱스(zero index)를 사용하는 언어이다.

  • 문자열 범위 선택 연산자 (슬라이싱) : [:]

         문자열의 특정 범위를 선택할 때 사용하는 연산자. 범위는 대괄호 안에 위치를 콜론(:)으로 구분해서 지정한다.

         범위 지정 시 마지막 숫자를 포함하지 않는다. 

         대괄호 안에 넣는 숫자 둘 중 하나를 생략하여 사용할 수 있다.

 

                안                 녕                  하                 세                                 요
             [0], [-5]                [1], [-4]                [2], [-3]              [3], [-2]               [4], [-1]

 

print("안녕하세요"[0])
print("안녕하세요"[1])
print("안녕하세요"[4])

# 뒤에서부터 선택하기 -1이 마지막 글자임
print("안녕하세요"[-1])
print("안녕하세요"[-2])
print("안녕하세요"[-5])

# 1번째 인덱스부터 3번째 인덱스 까지
print("안녕하세요"[1:4])

# 1번째 인덱스부터 마지막 글자(4번째 인덱스)까지
print("안녕하세요"[1:])

# 첫번째 글자(0번째 인덱스)부터 2번째 인덱스까지
print("안녕하세요"[:3])

 

인덱싱과 슬라이싱의 차이

인덱싱은 문자열의 특정 위치에 있는 문자를 참조하는 것이고 슬라이싱은 문자열의 일부를 추출하는 것이다.

 

문자열의 길이 구하기

len() 함수를 사용, 괄호 내부에 문자열을 넣으면 문자열에 들어있는 문자의 개수(= 문자열의 길이)를 세어 준다.

 

 

02-2 숫자

 

정수형(integer) : 소수점이 없는 숫자 ex) 0, 1, 153 , -2

실수형(부동 소수점, floating point) : 소수점이 있는 숫자 ex) 0.0 , -1.5, 52.345

 

숫자 연산자

 

  • 사칙 연산자 : +, -, *, /
# 덧셈 연산자
print(5 + 7)
# 뺄셈 연산자
print(5 - 7)
# 곱셈 연산자
print(5 * 7)
# 나눗셈 연산자
print(5 / 7)
  •  정수 나누기 연산자 : 숫자를 나누고 소수점 이하의 자릿수를 떼어 버린 후 정수 부분만 남기는 정수 나누기 연산자
  • 나머지 연산자 : A를 B로 나누었을 때 남은 나머지를 구하는 연산자
# 나눗셈 연산자 : /
print("3 / 2 =", 3 / 2) # 출력값은 1.5

# 정수 나누기 연산자 : //
print("3 // 2 =", 3 // 2) # 출력값은 1

# 나머지 연산자 : %
print(" 5 % 2 =", 5 % 2) # 1

 

  • 제곱 연산자 : 숫자를 제곱하는 연산자
print(2 ** 2)
print(2 ** 3)
print(2 ** 4)

 

연산자의 우선순위 

곱셈과 나눗셈이 덧셈과 뺄셈보다 우선이다.

우선순위를 가지는 연산자는 왼쪽에서 오른쪽 순서로 계산한다.

# 곱셈(왼쪽) - 나눗셈 - 곱셈(오른쪽) - 덧셈 - 뺄셈
print(2 + 2 - 2 * 2 / 2 * 2)

# 먼저 연산하고 싶은 부분을 괄호로 감싸준다
print((5 + 3) * 2)