혼자 공부하는 파이썬 Part.1

헤스더·2024년 7월 7일
1
post-thumbnail

preview

저번 겨울방학 때 참여했던 한빛디어의 혼공학습단 11기를 수료한 경험이 도움이 되어, 이번 여름방학에도 신청하게 되었다. 11기는 C언어 활동이었으며, 12기 활동은 1학기 때 기계학습 공부를 진행하며 공부했던 파이썬에 대해 집중적으로 공부 및 정리하고자 한다.


다음은 진도표와 미션이며, 이번주 글은 1주차 미션이 담긴 글이다.




프로그래밍 언어, 파이썬

파이썬은 1991년 귀도 반 로섬이 발표한 프로그래밍 언어이다. 1989년 크리스마스가 있던 주에 연구실에 닫혀서 심심하던 차에 만들기 시작했다고 한다. (출처: 혼자 공부하는 파이썬)




파이썬 장단점

장점

  • 문법이 간단해서 배우기 쉽다.
  • 많은 사람이 사용하고 있어 여러 분야에서 활용할 수 있다.
  • 대부분의 운영체제에서 같은 방법으로 사용할 수 있다.

단점

  • 느리다!!!
    파이썬은 일반적으로 C언어보다 10~350배 정도 느리다. 프로그래밍 언어에서는 '쉽게 사용 가능하다.' ↔ '빠르다'가 적용된다(반비례한다).



자주 나오는 파이썬 용어들

표현식과 문장

  • 표현식: 파이썬에서 어떠한 값을 만들어 내는 간단한 코드. 숫자, 수식, 문자열 등
  • 문장: 표현식이 하나 이상 모인 것.
  • 표현식>문장>프로그램 순으로 커진다.

키워드

특별한 의미가 부여된 단어. 사용자가 키워드인지 아닌지를 구분해야 하는 이유는 프로그래밍 언어에서 사용자가 이름을 정할 때 키워드를 사용하면 안 되기 때문이다.

위 이미지는 현재 파이썬에서 사용되는 키워드이다. 파이썬은 대소문자를 구분하는 프로그래밍 언어로, True와 true는 다르게 취급한다.


식별자

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

식별자의 기본 규칙

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

스네이크 케이스와 캐멀 케이스

  • 스네이크 케이스: 단어 사이에 언더바 기호를 붙여 식별자를 만드는 경우
  • 캐멀 케이스: 단어들의 첫 글자를 대문자로 만들어 식별자를 만드는 경우


주석

프로그램의 진행에 전혀 영향을 주지 않는 코드. 파이썬에서는 # 기호를 붙여 주석 처리한다.

#간단한 출력 예시
print("Hello! Python Programming...")

연산자와 자료

값과 값 사이에 어떠한 기능을 적용할 때 사용하는 것.




자료형

자료형

개발자들이 쉽게 사용할 수 있도록 기능과 역할에 따라 자료를 구분했는데, 이렇게 구분된 종류를 '자료형'이라고 부른다.

  • 문자열: 메일 제목 등
  • 숫자: 물건의 가격 등
  • 불: 친구의 로그인 상태 등 → 예) True, False

파이썬에서 자료형(자료의 형식)을 확인할 때는 type() 함수를 사용한다.


문자열

1. 문자열 연결 연산자: +

>>> print("안녕"+"하세요")
안녕하세요
>>> print("안녕하세요" +"!")
안녕하세요!

여기서 잠깐! + 연산자를 사용할 때에는 문자열은 문자열끼리 사용해야 에러 없이 결과를 얻을 수 있다.


2. 문자열 반복 연산자: *

>>> print("안녕하세요" *3)
안녕하세요안녕하세요안녕하세요

여기서는 숫자를 바꿔서 입력해도 출력값은 동일하다.


3. 문자 선택 연산자(인덱싱): [ ]
문자열 내부의 문자 하나를 선택하는 연산자이다. 대괄호 안에는 선택할 문자의 위치를 지정하며, 이 숫자를 인덱스라고 부른다.

인덱스 유형

  • 제로 인덱스, 원 인덱스

4. 문자열 범위 선택 연산자(슬라이싱): [:]
문자열의 특정 범위를 선택할 때 사용하는 연산자이다.




숫자

숫자를 생성하는 방법과 숫자에 적용할 수 있는 연산자를 알아보겠다.

숫자의 종류

0과 0.0은 다른 숫자다.

숫자와 관련된 자료형에는 정수형(integer, int)실수형(floating point, float)이 있으며, 그에 대한 정의는 우리가 중학교 때 학습했던 그 개념과 동일하다. 두 형식의 차이는 바로 소수점의 유무이다.

0은 소수점이 없는 숫자인 정수형이고,
0.0은 소수점이 있는 실수형으로,
두 숫자는 자료형이 다르고, 서로 다른 값으로 취급된다.

숫자 연산자

사칙 연산자: +, -, *, /

우리가 알고 있는 사칙 연산자의 개념과 동일하다.

연산자설명구문
+덧셈 연산자숫자+숫자
-뺄셈 연산자숫자-숫자
*곱셈 연산자숫자*숫자
/나눗셈 연산자숫자/숫자

정수 나누기 연산자: //

숫자를 나누고 소수점 이하의 자릿수를 떼어 버린 후 정수 부분만 남기는 연산자이다.

나머지 연산자: %

A를 B로 나누었을 때 남은 나머지를 구하는 연산자이다.

print("5 % 2 =", 5 % 2)
5 % 2 = 1

이 연산자는 자주 사용하는 기능이므로 잘 익혀두는 것이 좋다.

제곱 연산자: **

숫자를 제곱하는 연산자이다. 예를 들어, 2^4는 2**4로 쓴다.

연산자의 우선순위

파이썬에서 연산자의 우선순위는 다음과 같다.
이미지 출처

TypeError 예외

서로 다른 자료(Type)를 연산하면 발생하는 예외이다.

string = "문자열"
number = 273
string + number

위의 예시를 보면, 문자열과 숫자를 + 연산자로 연결했다. 문자열은 + 연산자를 문자열 연결 연산자로 사용하려고 하고, 숫자는 + 연산자를 덧셈 연산자로 사용하려다 보니 에러가 발생하는 것이다.

이미지 출처

IT 교육 커뮤니티에서 진행한 설문조사 그래프이다. TypeError가 30.7%로 가장 많이 발생하는 것을 알 수 있다.




확인문제 - 1주차 미션

혼공파 1주차 미션은 다음과 같다.

1주차라 매우 간단한 예제 문제가 미션으로 제공되었다.


3. 다음 프로그램의 실행결과를 예측해 보세요.
아래는 입력 코드이다.

아래는 출력 결과이다.

역슬래시()는 escape 문자롤 취급되어 8개는 4개로 출력된다.

※이스케이프 문자 종류

  • \n : 아래로 줄 바꿈 할 때 사용합니다.
  • \t : 수평으로 탭 간격을 줄 때 사용합니다.
  • \b : 한 칸 앞으로 이동할 때 사용합니다.
  • \ \ : 문자열 상에서 백 슬래쉬( \ ) 를 표시할 때 사용합니다.
  • \' : 문자열 상에서 작은따옴표( ' ) 를 표시할 때 사용합니다.
  • \" : 문자열 상에서 큰따옴표( " ) 를 표시할 때 사용합니다.

4. 다음 프로그램의 실행결과를 예측해 보세요. 그런데, 이 예제를 실행하면 오류가 발생합니다. 몇 행에서 어떤 오류가 발생할까요? 그리고 그 이유는 무엇인지 말해보세요.

다음과 같은 에러는 프로그래밍을 할 때 가장 많이 만나는 예외 중 하나인 IndexError 예외이다. IndexError 예외는 리스트/문자열의 수를 넘는 요소/글자를 선택할 때 발생한다.
위 코드를 살펴보자. "안녕하세요"는다섯 글자이다. 파이썬에서 문자열의 인덱스는 0부터 시작하며, 따라서 '안녕하세요'에 해당하는 인덱스는 0~4이다. 그런데 위에서는 인덱스 5를 사용하려고 하기 때문에 인덱스가 범위를 넘었다고 해서 해당 오류를 발생시킨다.


  1. 다음 프로그램의 실행결과를 예측해 보세요.
    아래는 입력 코드이다.

    아래는 출력 결과이다.

0개의 댓글