저번 겨울방학 때 참여했던 한빛디어의 혼공학습단 11기를 수료한 경험이 도움이 되어, 이번 여름방학에도 신청하게 되었다. 11기는 C언어 활동이었으며, 12기 활동은 1학기 때 기계학습 공부를 진행하며 공부했던 파이썬에 대해 집중적으로 공부 및 정리하고자 한다.
다음은 진도표와 미션이며, 이번주 글은 1주차 미션이 담긴 글이다.
파이썬은 1991년 귀도 반 로섬이 발표한 프로그래밍 언어이다. 1989년 크리스마스가 있던 주에 연구실에 닫혀서 심심하던 차에 만들기 시작했다고 한다. (출처: 혼자 공부하는 파이썬)
특별한 의미가 부여된 단어. 사용자가 키워드인지 아닌지를 구분해야 하는 이유는 프로그래밍 언어에서 사용자가 이름을 정할 때 키워드를 사용하면 안 되기 때문이다.
위 이미지는 현재 파이썬에서 사용되는 키워드이다. 파이썬은 대소문자를 구분하는 프로그래밍 언어로, True와 true는 다르게 취급한다.
프로그래밍 언어에서 이름을 붙일 때 사용하는 단어. 변수 또는 함수 이름 등으로 사용.
식별자의 기본 규칙
스네이크 케이스와 캐멀 케이스
프로그램의 진행에 전혀 영향을 주지 않는 코드. 파이썬에서는 # 기호를 붙여 주석 처리한다.
#간단한 출력 예시
print("Hello! Python Programming...")
값과 값 사이에 어떠한 기능을 적용할 때 사용하는 것.
개발자들이 쉽게 사용할 수 있도록 기능과 역할에 따라 자료를 구분했는데, 이렇게 구분된 종류를 '자료형'이라고 부른다.
파이썬에서 자료형(자료의 형식)을 확인할 때는 type() 함수를 사용한다.
1. 문자열 연결 연산자: +
>>> print("안녕"+"하세요")
안녕하세요
>>> print("안녕하세요" +"!")
안녕하세요!
여기서 잠깐! + 연산자를 사용할 때에는 문자열은 문자열끼리 사용해야 에러 없이 결과를 얻을 수 있다.
2. 문자열 반복 연산자: *
>>> print("안녕하세요" *3)
안녕하세요안녕하세요안녕하세요
여기서는 숫자를 바꿔서 입력해도 출력값은 동일하다.
3. 문자 선택 연산자(인덱싱): [ ]
문자열 내부의 문자 하나를 선택하는 연산자이다. 대괄호 안에는 선택할 문자의 위치를 지정하며, 이 숫자를 인덱스라고 부른다.
인덱스 유형
4. 문자열 범위 선택 연산자(슬라이싱): [:]
문자열의 특정 범위를 선택할 때 사용하는 연산자이다.
숫자를 생성하는 방법과 숫자에 적용할 수 있는 연산자를 알아보겠다.
숫자와 관련된 자료형에는 정수형(integer, int)과 실수형(floating point, float)이 있으며, 그에 대한 정의는 우리가 중학교 때 학습했던 그 개념과 동일하다. 두 형식의 차이는 바로 소수점의 유무이다.
0은 소수점이 없는 숫자인 정수형이고,
0.0은 소수점이 있는 실수형으로,
두 숫자는 자료형이 다르고, 서로 다른 값으로 취급된다.
우리가 알고 있는 사칙 연산자의 개념과 동일하다.
연산자 | 설명 | 구문 |
---|---|---|
+ | 덧셈 연산자 | 숫자+숫자 |
- | 뺄셈 연산자 | 숫자-숫자 |
* | 곱셈 연산자 | 숫자*숫자 |
/ | 나눗셈 연산자 | 숫자/숫자 |
숫자를 나누고 소수점 이하의 자릿수를 떼어 버린 후 정수 부분만 남기는 연산자이다.
A를 B로 나누었을 때 남은 나머지를 구하는 연산자이다.
print("5 % 2 =", 5 % 2)
5 % 2 = 1
이 연산자는 자주 사용하는 기능이므로 잘 익혀두는 것이 좋다.
숫자를 제곱하는 연산자이다. 예를 들어, 2^4는 2**4로 쓴다.
파이썬에서 연산자의 우선순위는 다음과 같다.
이미지 출처
서로 다른 자료(Type)를 연산하면 발생하는 예외이다.
string = "문자열"
number = 273
string + number
위의 예시를 보면, 문자열과 숫자를 + 연산자로 연결했다. 문자열은 + 연산자를 문자열 연결 연산자로 사용하려고 하고, 숫자는 + 연산자를 덧셈 연산자로 사용하려다 보니 에러가 발생하는 것이다.
IT 교육 커뮤니티에서 진행한 설문조사 그래프이다. TypeError가 30.7%로 가장 많이 발생하는 것을 알 수 있다.
혼공파 1주차 미션은 다음과 같다.
1주차라 매우 간단한 예제 문제가 미션으로 제공되었다.
3. 다음 프로그램의 실행결과를 예측해 보세요.
아래는 입력 코드이다.
아래는 출력 결과이다.
역슬래시()는 escape 문자롤 취급되어 8개는 4개로 출력된다.
※이스케이프 문자 종류
4. 다음 프로그램의 실행결과를 예측해 보세요. 그런데, 이 예제를 실행하면 오류가 발생합니다. 몇 행에서 어떤 오류가 발생할까요? 그리고 그 이유는 무엇인지 말해보세요.
다음과 같은 에러는 프로그래밍을 할 때 가장 많이 만나는 예외 중 하나인 IndexError 예외이다. IndexError 예외는 리스트/문자열의 수를 넘는 요소/글자를 선택할 때 발생한다.
위 코드를 살펴보자. "안녕하세요"는다섯 글자이다. 파이썬에서 문자열의 인덱스는 0부터 시작하며, 따라서 '안녕하세요'에 해당하는 인덱스는 0~4이다. 그런데 위에서는 인덱스 5를 사용하려고 하기 때문에 인덱스가 범위를 넘었다고 해서 해당 오류를 발생시킨다.