IDLE 에디터를 실행하여 프로그램을 작성했다면 [Run -> Run Module] 혹은 F5를 통해 프로그램을 실행할 수 있다.
<에디터 추천>
앞서 등장한 IDLE보다 다양한 기능을 수행할 수 있는 에디터는 다음과 같다.
1. 비주얼 스튜디오 코드
2. 파이참
📌느낀점
파이썬이라는 것을 처음 배워보니 조금은 낯설지만 계속 흥미와 끈기를 갖고 열심히 공부하다보면 어느새 익숙해지고
파이썬을 잘 다룰 수 있을 것 같다.
그리고 코드와 함께라면 더더욱.
작성자: 김민정
작성일: 3/11
진도: [2-1]~[2-2] 문자열 인덱싱과 슬라이싱
📌자료형이란 무엇일까?
프로그램의 기본이자 핵심 단위가 되는 것으로 프로그래밍을 할 때 쓰이는 숫자, 문자열 등과 같이 자료 형태로 사용하는 모든 것을 뜻한다.
📌숫자형
숫자형이란 숫자 형태로 이루어진 자료형이다.
파이썬에서는 정수, 실수, 8진수와 16진수를 각각 어떻게 만들고 사용하는지 알아보자
<정수형>
정수를 뜻하는 자료형을 말한다. 다음은 정수를 변수 a에 대입하는 예이다.
>>> a = 2024 >>> a = -99 >>> a = 0
이때 등호는 일반적인 수식과 달리 양변이 같다는 의미를 포함하지 않는다.
<실수형>
파이썬에서 실수형은 소수점이 포함된 숫자를 말한다. 다음은 실수를 변수 a에 대입하는 예이다.
>>> a = 10.9 >>> a = -87.6
다음은 컴퓨터식 지수 표현 방식이다. 1.23에 10의 제곱을 곱한 값을 표현해본다고 하자.
>>> a = 1.23E2 >>> a = 1.23e2
대문자E와 소문자e 모두 사용 가능하다.
<8진수와 16진수>
8진수를 만들기 위해서는 숫자 앞에 '숫자0 + 알파벳 소문자o 또는 대문자O'를 붙이면 된다.
>>> a = 0o120 >>> print(a) 80
16진수를 만들기 위해서는 숫자 앞에 '숫자0 + 알파벳 소문자x'를 붙이면 된다.
>>> a = 0x14 >>> print(a) 20
📌숫자형을 활용하기 위한 연산자
<사칙연산>
계산기와 마찬가지로 +, -, *, /의 연산자를 사용해 사칙 연산을 수행한다.
<제곱을 나타내는 ** 연산자>
이 연산자는 x ** y 처럼 사용했을 때 x의 y제곱 값을 리턴한다. 연산자의 좌측에 있는 것이 밑, 우측이 지수에 해당되는 것이다.
<나눗셈 후 나머지를 리턴하는 % 연산자>
다음 예시를 통해 이해해보자.
>>> 10 % 7 3 >>> 4 % 9 4
<나눗셈 후 몫을 리턴하는 // 연산자>
다음 예시를 통해 이해해보자.
>>> 190 // 50 3
cf. 위의 예시에 포함된 연산자를 / 로 바꿔본다면?
>>> 190 / 50 3.8
<복합 연산자>
복합 연산자는 앞서 살펴본 산술 연산자와 대입 연산자 (=) 를 합쳐 놓은 것으로 +=, -=, *=, /=, //=, %=, **= 와 같은 것들이 복합 연산자에 해당된다.
복합 연산자가 무엇인지 예시를 통해 이해해보자.
>>> a = 5
>>> a = a + 5 >>> print(a) 10
이렇게 a = a + 5 식에 의해 a 값이 5만큼 증가된다. 이를 간소화한 연산자가 +=인 것이다.
위를 통해 추론할 수 있듯이, -= 복합 연산자는 값을 감소시키기 위해 사용된다. 이렇게 복합 연산자를 사용하면 코드를 간결하고 가독성 있게 작성할 수 있다는 장점이 있다.
📌문자열 자료형
문자열이란 연속된 문자들의 나열을 말하는 것으로, 이를 만드는 방법은 모두 4가지가 있다.
📌문자열 자료형을 만들고 사용하는 법
문자열 자료형을 만드는 방법은 4가지이다.
1. 큰따옴표로 양쪽 둘러싸기
2. 작은따옴표로 양쪽 둘러싸기
3. 큰따옴표 3개를 연속으로 써서 양쪽 둘러싸기
4. 작은따옴표 3개를 연속으로 써서 양쪽 둘러싸기
잠깐, 문자열을 만드는 방법은 왜 4가지나 있는 걸까?
파이썬의 장점은 간결함이라며...
상황에 따라 문자열 안에도 작은따옴표와 큰따옴표가 들어 있는 경우, 사용할 수 있는 문자열 생성 방법이 제한적일 수 있기 때문에 4가지인 것이다.
문자열 안에 작은따옴표가 포함된다면 문자열을 큰따옴표로 둘러싸고, 문자열 안에 큰따옴표가 포함된다면 문자열을 작은따옴표로 둘러싸면 되는 것이다.
이때 역슬래시를 사용하는 방법이 추가된다.
<역슬래시를 사용해서 작은따옴표와 큰따옴표를 문자열에 포함하기>
역슬래시를 따옴표 앞에 삽입하면 역슬래시 뒤에 위치하는 따옴표는 문자열을 둘러싸는 기호의 의미가 아닌, 따옴표 그 자체를 뜻하게 된다.
<여러 줄인 문자열을 변수에 대입하고 싶을 때>
문자열이 항상 한 줄짜리만 있는 것은 아니다. 여러 줄의 문자열을 변수에 대입하는 방법은 2가지가 있다.
1. 줄을 바꾸기 위한 이스케이프 코드 \n 삽입하기
이스케이프 코드란 프로그래밍 할 때 사용할 수 있도록 미리 정의해 준 문자 조합을 말한다. 이스케이프 코드를 이용하여 출력물을 보기 좋게 정렬할 수 있다.
2. 연속된 작은따옴표 3개 또는 큰따옴표 3개 사용하기
위의 두 경우 모두 결과가 동일하므로 이스케이프 코드보다 따옴표 3개를 사용하는 것이 더 깔끔할 수 있다.
📌문자열 연산하는 법
문자열을 더하거나 곱할 수 있는 것은 파이썬만의 장점이라고 할 수 있다. 문자열을 연산하는 방법에 대해 알아보자.
<문자열 더해서 연결하기>
>>> head = "I'm" >>> tail = "craving pizza" >>> head + tail 'I'm craving pizza'
<문자열 곱하기>
더하기와 달리 문자열에서의 곱하기는 숫자 곱하기의 의미와는 다르다. 이때 곱하기는 반복의 의미로 사용된다.
>>> a = "me" >>> a * 2 'meme'
문자열 곱하기를 응용한다면 프로그램 실행 시 프롬프트 창에 프로그램 제목이 뜨게끔 만들 수도 있다!
<문자열 길이 구하기>
공백 문자가 포함된 문자열의 길이는 파이썬의 기본 내장 함수인 len 함수로 구할 수 있다. 아래 예시를 참고해보자.
>>> a = "We are CODE" >>> len(a) 11
📌문자열 인덱싱
문자열 인덱싱에서 기억해야 할 점은 파이썬은 0부터 숫자를 센다는 것이다.
어떤 변수에 저장한 문자열의 각 문자마다 번호를 매기고, 해당 번호를 이용하여 문자열 안의 특정한 값을 뽑아 내는 작업이 바로 인덱싱이다.
이때, 음수인 번호를 인덱싱하면 어떤 의미를 가질까?
문자열을 뒤에서부터 읽을 때 마이너스 기호를 붙인다. 즉, a(-1)은 a라는 변수에 저장된 문자열의 가장 마지막 문자를 말한다.
📌문자열 슬라이싱
앞서 특정 문자를 뽑아 내는 문자열 인덱싱과 달리 문자열 슬라이싱은 특정 단어를 뽑아 낼 때 사용된다.
인덱싱을 통해 단어를 뽑아 낼 수도 있지만 슬라이싱을 이용하면 더 간단하다.
해당 단어를 구성하는 첫 문자의 인덱싱 번호를 x, 마지막 문자의 인덱싱 번호를 y라 할 때 슬라이싱에 쓰이는 번호는 x와 y+1이다. (y가 아님에 주의!)
>>> a = "We are CODE" >>> a[8:12] 'CODE'
슬라이싱도 인덱싱에서와 마찬가지로 마이너스 기호를 사용할 수 있다.
슬라이싱에서 번호를 생략할 수 있는 경우들이 있다.
1. 해당 문자열의 끝까지 뽑아내고 싶을 때 : 끝 번호 생략 가능 >>> a[x:]
2. 해당 문자열의 시작부터 뽑아내고 싶을 때 : 시작 번호 생략 가능 >>> a[:y]
3. 해당 문자열의 전체를 뽑아내고 싶을 때 : 번호 모두 생략 가능 >>> a[:]
위의 1, 2번 생략법을 함께 활용하면 문자열을 간편하게 나눌 수 있다.
📌느낀점
아직 익숙하지 않은 개념에 대해 정리하는 일이 쉽진 않았지만 이 과정을 통해 이번주에 공부한 것들을 다시 한 번 되새기는 시간을 가질 수 있었던 것 같아 보람차다. 우리 김이김이나 조원들과 함께 더 열심히 공부해서 나중에 이 작성물을 다시 본다면 이걸 어려워했던 스스로를 부끄러워 할 정도로 실력을 쌓고 싶다 :)
작성자: 김민혁
작성일: 3/11
진도: [2-2] 문자열 포매팅
<문자열 포매팅>
문자열 포매팅이란 문자열 안에 어떤 값을 삽입하는 방법이다.
1. 숫자 바로 대입
>>> "I eat %d oranges." % 4 'I eat 4 oranges.'
문자열 안의 숫자를 넣고 싶은 자리에 %d 문자를 넣어 주고 삽입할 숫자는 가장 뒤의 %에 둔다.
여기서 %d는 '문자열 포맷 코드'라고 부른다.
2. 문자열 바로 대입
>>> "I eat %s oranges." %"six" 'I eat six oranges'
문자열을 넣기 위해서는 %s를 써야한다.
3. 2개 이상의 값 넣기
>>> number = 4 >>> CODE = "six" >>> "I ate %d oranges. so I was sick for %s days." %(number, CODE) 'I ate 4 oranges. so I was sick for six days.'
2개 이상의 값을 넣으려면 마지막 % 다음 괄호 안에 쉼표(,)로 구분하여 각각의 값을 넣어 주면 된다.
<문자열 포맷 코드>
정수와 문자열 외에도 다양한 것을 대입할 수 있다.
여기서 %s 포맷 코드는 어떤 형태의 값이든 변환해 넣을 수 있다.
<포맷 코드와 숫자 함께 사용하기>
1.정렬과 공백
>>> "%10s" % "CODE" ' CODE'
%10s는 전체 길이가 10개인 문자열 공간에서 대입되는 값을 오른쪽으로 정렬하고 그 앞의 나머지는 공백으로 남겨 두라는 의미이다.
반대로 %-10s는 왼쪽정렬이다.
2.소수점 표현하기
>>> "%0.4f" % 2.324342 '2.3243'
'.'은 소수점 포인트, 그 뒤의 숫자는 소수점 뒤에 나올 숫자의 개수를 말한다. 소수점 포인트 앞의 숫자는 문자열의 전체 길이를 의미하는데 이 숫자가 0이라면 길이에 상관하지 않겠다는 의미이다.
<format함수를 사용한 포매팅>
문자열의 format함수를 사용하면 좀 더 발전된 스타일로 문자열 포맷을 지정할 수 있다.
1. 숫자 바로 대입하기
>>> "I eat {0} oranges" .format(4) 'I eat 4 oranges.'
2. 문자열 바로 대입하기
>>>"I eat {0} oranges." .format("six") 'I eat six oranges.'
3. 2개 이상의 값 넣기
>>> number = 10 >>> CODE = "six" >>> "I ate {0} oranges. so I was sick for {1} days." .format(number, CODE)
'I ate 10 apples. so I was sick for three days'
2개 이상의 값을 넣을 경우, 문자열의 {0}, {1}과 같은 인덱스 항목이 format 함수의 입력값으로 순서에 맞게 바뀐다.
4. 이름으로 넣기
>>> "I ate {number} oranges. so I was sick for {CODE} days." .format(number=10, CODE=3) 'I ate 10 apples. so I was sick for three days'
{0}, {1}과 같은 인덱스 항목 대신 {name} 형태를 사용하는 방법도 있다.
{name} 형태를 사용할 경우, format 함수에는 반드시 name=value와 같은 형태의 입력값이 있어야 한다.
5. 정렬
:<10을 사용하면 치환되는 문자열을 왼쪽으로 정렬하고 문자열의 총 자릿수를 10으로 맞출 수 있다.
:>오른쪽 정렬, :^가운데 정렬
6. 공백 채우기
>>> "{0:?<10}" .format("CODE") 'CODE???????'
정렬할 때 공백 문자 대신 지정한 문자 값으로 채워 넣을 수도 있다. 채워 넣을 문자 값은 정렬 문자 <,>,^ 바로 앞에 넣어야 한다.
7. 소수점 표현하기
>>> y = 2.32144242 >>> "{0:0.4f}" .format(y) '2.3214'
<f문자열 포매팅>
문자열 앞에 f 접두사를 붙이면 f 문자열 포매팅 기능을 사용할 수 있다.
>>> name = '김코드' >>> age = 3 >>> f'나의 이름은 {name}입니다. 나이는 {age}입니다.' '나의 이름은 김코드입니다. 나이는 3입니다.