컴퓨터 공학/PYTHON

PYTHON (2 번째 공부)

코딩하는 Español되기 2022. 9. 7. 17:52

오늘 공부할 자료

  • 자료와 자료형의 의미
  • 문자열을 생성하는 방법, 문자열에 적용할 수 있는 연산자
  • 숫자를 생성하는 방법과 숫자에 적용할 수 있는 연산자
  • 변수를 선언하고 변수에 값을 할당하는 방법

자료

프로그램은 기본적으로 "자료를 처리" 하는 역할을 수행

프로그래밍에서는 처리할 수 있는 모든 것을 자료라고 부름.

예시: 카메라로 사진을 찍으면 사진이 자료, 카메라에 저장하는 것 처리

          게임에서 경험치를 얻으면 경험치가 자료, 경험치를 증가시키는 것이 처리


 

자료형과 기본 자료형

가장 기본적인 자료형: 문자열, 숫자, 불

  1. 문자열(string): "안녕하세요" "Hello World"

  2. 숫자(number): 52, 273, 103, 23

  3. 불(boolean): True, False


 

자료형 확인하기

자료형: 자료의 형식으로, 자료를 확인할 때는 type() 함수를 사용. 

<예시> 문자열을 넣으면 str (string:문자열)로 표시되고, 숫자를 넣으니 int (integer: 정수) 를 표현


문자열 만들기

프로그래밍 언어에서는 글자들이 나열된 것을 '문자열(string)' 이라고 한다.

파이썬의 경우 큰따옴표, 작은 따옴표 구분 없이 문자열을 만들 수 있다.

문자열 내부에 따옴표 넣기

예를 들어  "안녕하세요"라고 말했습니다.  를 출력하고 싶다면

앞의 방법대로 한다면 아래 사진처럼 문자열을 만들것이다.

그러면 SyntaxError(구문오류)를 발생시킴.

위에 두 번째 사진과 같이

 1은 아무 글자가 없는 문자열인 (" ")를 의미하고

 2는 "라고 말했습니다"라는 문자열을 의미한다. 그래서 구문오류가 발생하는 것

따라서 아래와 같이 내부에 넣고 싶은 따옴표를 적고 바깥에 다른 따옴표를 적으면 됩니다.

# 구문오류(Syntax Error): 작성한 코드에 뭔가 문제가 발생하여 실행조차 되지 않는다는  뜻


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

이스케이프 문자(escape character)

: 역슬래시(\) 기호와 함께 조합해서 만드는 특수한 문자로 한국어 키보드에서 \는 원화 기호

\" 는 큰따옴표를 의미하고 \' 는 작은 따옴표를 의미함.

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


여러 줄 문자열 만들기

이스케이프 문자 중 \n을 사용하면 줄바꿈을 할 수 있다.

하지만 한줄에 긴 코드를 입력하면 읽기 힘들고 한 줄에 줄 바꿈도 많아 하나하나 확인 하기 복잡

파이썬은 여러 줄 문자열이라는 기능을 지원한다.

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

줄바꿈 없이 문자열 만들기

코드를 왼쪽과 같이 입력하면 의도치 않은 줄바꿈이 들어가게 된다

만약 줄바꿈을 하지 않고 코드를 입력하고 싶으면 \기호를 사용한다. 


문자열 연산자

문자열 연결 연산자 + :  '+' 를 사용하여 문자열 연결 연산을 적용 가능                             

 

하지만 "hello2"을 출력하고 싶어서 아래와 같이 한다면 오류가 나옵니다.

따라서 문자열은 문자열끼리 숫자는 숫자끼리 + 기호를 사용하여 연산해야 한다.

문자열 반복 연산자 * : '*'  를 사용하여 문자열 반복 연산을 적용 가능

문자열 * 숫자를 하여 문자열을 반복 가능하다. 문자열 *숫자 순도 가능하고 숫자*문자열 순도 가능하다.

문자 선택 연산자(인덱싱): [   ],문자열 내부의 문자 하나를 선택하는 연산자.

                                           대괄호 안에는 선택할 문자의 위치를 지정하며 이 숫자를 인덱스(Index)라고 부름

프로그래밍 언어는 인덱스 유형에 따라 두 가지로 구분해서 사용한다.

숫자를 0부터 세는 제로 인덱스, 1부터 세는 원 인덱스인데, 파이썬은 '제로 인덱스' 유형을 사용한다.

문자를 거꾸로 출력하려면 대괄호 안의 숫자를 음수로 하면 뒤에서부터 선택 할 수 있다.

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

프로그래밍 언어에 따라 두 가지 유형이 있다.

하나는 범위 지정 시 '마지막 숫자 포함'과 '마지막 숫자 포함하지 않음'이 있다. 파이썬은 '마지막 숫자를 포함하지 않음'

그래서 위의 출력 결과가 인덱스 1인 녕부터 3인 '세'까지 출력한 것.

 

또 문자열 범위 선택 연산자는 하나를 생략하는 [1: ] [:3] 과 같은 형태로도 사용이 가능하다.

[1:] 의 경우 뒤의 값을 생략했기 때문에 1부터 끝의 문자까지 선택하고

[:3] 의 경우 앞의 값을 생략했기 때문에 처음부터 3까지 문자를 선택한다.

인덱싱(indexing): [ ] 기호를 이용해 문자열의 특정 위치에 있는 문자를 참조하는 것

슬라이싱(slicing): [:]처럼 문자열의 일부를 추출하는 것

 

여기서 생각할 것은 문자열 선택연산자로 슬라이스를 해도 원본은 변하지 않는다는 것

첫 번째 코드: "안녕하세요"라는 문자열을 hello라는 저장 공간(변수)에 저장

두 번째 코드: hello에 있는 문자열 중 0, 1번째 문자열을 추출해 출력

세번째 코드: hello 라는 변수에 들어 있는 값인 '안녕하세요'는 그대로 이므로 '안녕하세요' 출력


IndexError(index out of range) 예외

IndexError 예외는 리스트/문자열의 수를 넘는 요소/글자를 선택할 때 발생.

예를 들어 "Hello"가 5글자인데, 10번째 문자에 접근하면, 문자열에 없는 문자를 선택해서, 인덱스 범위를 넘었다고해서 index out of range라는 오류를 발생한다.


문자열의 길이 구하기

문자열의 길이를 구할 때는 len() 함수를 사용.

아래와 같이 괄호 내부에 문자열을 넣으면 '문자열에 들어있는 문자의 개수'를 세아려준다.

자세하게 알아보면  print(len("Hello")) ----> print(5) -----> 5 라는 과정으로 출력이 된다.


핵심 포인트

 1. 자료형: 자료의 형식

 2. 문자열: 문자의 나열로 큰따옴표 혹은 작은따옴표로 입력

 3. 이스케이프 문자: 문자열 내부에서 특수한 기능을 수행하는 문자열

 4. 문자열 연산자:

     문자열 연결 연산자(+), 문자열 반복 연산자(*), 문자열 선택 연산자([ ]), 문자열 범위 선택 연산자([:])

 5. type( )은 자료형을 확인하는 함수, len( )은 문자열의 길이를 구하는 함수

 

 

'컴퓨터 공학 > PYTHON' 카테고리의 다른 글

PYTHON(2-2 주차)  (2) 2022.09.07
PYTHON 공부(1 주차)  (2) 2022.09.07