JUST DO IT PROJECT

[문법] Python 변수와 문자열 활용, 이스케이프 문자, 인덱싱, 슬라이싱 본문

CSE/Python

[문법] Python 변수와 문자열 활용, 이스케이프 문자, 인덱싱, 슬라이싱

웨일.K 2020. 3. 16. 17:50
반응형

파이썬의 변수와 자료형

  • 변수(variable)란 간단히 말해서 값을 담아둘 수 있는 그릇이라고 생각하면 됩니다.
    var=3는 정수를 담을 수 있는 그릇의 이름을 var이라고 정하고 정수 3을 저장한 것이죠.
  • 자료형(type)이란 변수라는 그릇의 종류라고 생각하면 되겠습니다. 변수에 담긴 값을 어떻게 해석할지 약속해 둔 규칙입니다.

네모난 그릇이 있고 크기가 그릇에 딱 맞는 네모난 블럭이 있다고 생각해봅시다. 해당 그릇에는 네모난 블럭만 넣을 수 있습니다.
세모나 동그라미는 크기에 따라 들어가지 못하거나 들어가더라도 공간이 많이 남을 것입니다.

동적타입, 강타입

일반적으로 정수형 변수에는 정수만, 실수형 변수에는 실수만 담아야 합니다. 문자열에는 문자만 담을 수 있죠.
하지만 파이썬은 한줄 한줄 바로 실행하는 인터프리터 언어이고, 파이썬은 런타임에 자료형을 체크하는 동적 타입(Dynamic type) 언어이기 때문에 C, C++, Java 등과 달리 변수의 자료형을 선언하지 않습니다.
실행후 런타임에 변수의 자료형을 결정하기 때문에 아래와 같이 다른 종류의 값을 넣어주면 해당 변수의 자료형이 바뀌기도 합니다.
type(변수명)을 이용하면 변수의 자료형을 확인할 수 있습니다.

파이썬은 암묵적인 형변환을 허용하지 않는 Strong type이기도 합니다.

변수명

변수명은 그릇의 이름표와 같습니다. 변수 이름을 정할 때에는 몇가지 규칙이 있습니다.

  • 알파벳, 숫자, 언더바(_)를 사용할 수 있습니다. (e.g. var_1_ONE = 1)
  • 숫자로 시작할 수는 없습니다.(e.g. 1var=3 (x) var1 =3 (o))
  • 대, 소문자는 구분됩니다. (e.g. a=3 A=3 는 서로 다른 변수입니다.)
  • 파이썬 키워드는 변수명으로 사용할 수 없습니다. (e.g. for, type 등..)

파이썬 기본 자료형

  • 숫자형 Numeric: 정수, 실수 (e.g. 1, 3.4)
  • 문자열 String: 문자들의 모음 (e.g. "hello")
  • 불린 Boolean: 참/거짓 (e.g. true, false)
  • 리스트 List: 순서를 가지는 집합, 값을 변경할 수 있음 (e.g. ["hello","world"])
  • 튜플 Tuple: 순서를 가지는 집합. 값을 변경할 수 없움. (e.g. ("hello","world"))
  • 딕셔너리 Dictionary: 순서를 가지지 않는 집합. 키(key)로 값을 꺼냄.(e.g. {"hello":3,"world":4}, 'hello'는 키, 3은 값)
  • 세트 Set: 순서를 가지지 않는 집합. 키가 없음. 중복되는 값 허용 안됨.(e.g. {"hello","world"}, {1,2,3,4}, {1,2,2,3}=={1,2,3})

파이썬 문자열 활용하기

문자열 여러줄 저장하기

파이썬의 문자열은 큰따옴표("hello")나 작은따옴표('world')를 사용합니다.
여러 줄을 묶어서 저장하고싶다면 큰따옴표나 작은따옴표를 세번씩 쓰면 됩니다.

"""Hello
Python
World """

이스케이프(Escape) 문자

이스케이프 문자는 탭(tab)이나 줄바꿈(nextline, enter)등을 표현하기 위해 사용합니다.

  • \n : 개행 (줄바꿈)
  • \t: 공백 문자 4글자
  • \r: 캐리지 반환
  • \o: 값이 비어있는 상태 (null)
  • \: '\'를 출력하기 위해 사용
  • \': 작은따옴표(')를 출력하기 위해 사용
  • \": 큰따옴표(")를 출력하기 위해 사용

들여쓰기, 탭

추후에 함수부분에서 다시 살펴보겠지만. 파이썬은 들여쓰기를 통해 바디를 정의합니다. 보통 들여쓰기 네칸(탭 한번)을 사용하는데, 이는 일관적으로 사용하는 것이 좋습니다. 들여쓰기 네번을 이용해 바디를 정의했다면 탭을 섞어서 쓰지 않는 것을 추천합니다.

def cal_grade(x):
    if 90<=score <= 100:
        grade='A'
    elif 80 <= score <90:
        grade='B'
    elif 70 <= score <80:
        grade='C'
    else:
        grade='D'
    return grade

문자열 연산

  • +: 문자열을 붙여줍니다. 생략 가능. 'py'+'thon'='python'
  • *: 문자열을 반복합니다. 'py'* 3= 'pypypy'

인덱싱(Indexing)

파이썬의 문자열에서 각 문자 하나하나를 가리키는 인덱스는 0부터 시작합니다. 공백이 있다면 공백문자도 문자열의 일부로 인식합니다.

>>> a='python is easy' 
>>> a[0]
'p'
>>> a[6]
' '

슬라이싱 (Slicing)

문자열을 다루다보면 문자열을 잘라서 부분적으로 이용해야 하는 경우가 많이 있습니다.
그때는 다음과 같이 사용하면 됩니다.

  • 변수명[시작인덱스:끝인덱스-1]

이때 인덱스에 마이너스부호를 붙이면 끝에서부터 센다는 의미입니다.

>>> a='python'
>>> a[0:1]
'p'
>>> a[2:1]
''
>>> a[2:3]
't'
>>> a[:-2]
'pyth'
>>> a[-2:]
'on'
>>> a[-3:-2]
'h'
반응형

'CSE > Python' 카테고리의 다른 글

[문법] Python 자료형: 리스트 List  (0) 2020.03.16
[VSCode] Macbook에서 python 개발환경 구축하기  (3) 2020.03.12