Python
변수1 = x
변수2 = y
print(변수1) -> 출력값 == x
변수는 하나의 정보가 담기는 상자로 이해하면 이해하기 쉬움
변수의 필요성
-변수가 없다면, 매번 숫자/문자를 입력해야함
<문제>
-100과 10을 더해 print !
-100과 10을 더한 값에 10을 나눠 print !
-100과 10을 더한 값에 10을 나눈 뒤 10을 빼서 print !
-100과 10을 더한 값에 10을 나눈 뒤 10을 뺀 후 10을 곱해서 print !
Python의 자료형
컴퓨터는 단순해서 모든 것을 0(있다)과 1(없다)로만 이해할 수 있다.
숫자 : 2진법으로 변환하여 처리
문자 : 알파벳에 번호를 부여하는 규칙으로 처리 (예. ASCII) 후 2진법으로 변환
1) 수치형
-수치형에는 정수(int)와 소수(float)가 있음
-연산자로 +, -, *, /, % 등 이 존재함
2) 문자형(str)
-" ", ' ' 로 감싸주는 형태임
-연산자(+,*), 특수문자(\n, \t), 문자열의 부분 값 추출(인덱싱, 슬라이싱) 등이 가능함
#문자형의 연산자
1) +(더하기)의 경우
"여" + "름"
두 개의 문자열이 붙어서 하나의 문자열로 나오는 것을 알 수 있음
2) *(곱하기)의 경우
"사이람"*5
문자열이 곱해진 횟수만큼 반복되어 나오는 것을 알 수 있음
#특수 문자 (이스케이프 문자) : 다음문자가 특수 문자임을 알리는 역슬래시(|)를 사용
\n : 개행 , \t : 탭
그렇다면 특수문자는 문자열로 표현하지 못하는 걸까?
그렇지 않다. 다음과 같은 방법을 이용하면 된다.
1) raw문자열 표현
이러한 표현 방식은 컴퓨터 파일 경로 등을 문자열로 쓸 때 많이 사용된다.
2) 특수문자 앞에 \한번더 입력해주기
#문자열의 부분 값 추출
1) 인덱싱(문자열[위치값])
위치값을 통해 문자열의 부분 값만 추출할 수 있다.
양수의 경우, 문자열의 첫번째부터 위치값이 0부터 시작되며
음수의 경우, 문자열의 마지막부터 위치값이 -1부터 시작된다.
a = "hello"
문자열 | H | E | L | L | O |
위치값(양수) | 0 | 1 | 2 | 3 | 4 |
위치값(음수) | -5 | -4 | -3 | -2 | -1 |
2) 슬라이싱(문자열[위치값:위치값])
위치값의 범위를 통해 문자열의 부분 값만을 추출할 수 있다.
양수의 경우, 자르는 범위이기에 시작점이 0(문자열의 앞부분)부터 시작되며
음수의 경우, 자르는 범위가 마지박부터 번호가 매겨지게 된다.
H E L L O
0 1 2 3 4 5
-5 -4 -3 -2 -1
-문자열이 가지는 함수 : replace / split / index
1) replace(문자 바꾸기)
특정 문자를 원하는 문자로 교체하는 함수이며, 문자뿐 아니라 위치값으로도 바꿀수 있다.
문자열의 변수명.replace(기존 문자열에서 바꾸고 싶은 문자, 새로 입력할 문자)
2) split(문자 구분하기)
특정 문자를 구분자로써의 역할을 수행하게 만든다.
문자열의 변수명.split(구분자로써 역할을 수행할 문자)
3) index(문자 위치)
특정 문자가 처음으로 등장하는 위치를 알 수 있다.
문자열의 변수명.index(문자 위치를 알고 싶은 문자)
그렇다면 특정위치 이후부터 처음 나오는 문자 위치는 알 수 없을까?
그렇지 않다. 특정 위치를 입력해주면 이후 처음나오는 문자의 위치를 알 수 있다.
문자열의 변수명.index(문자 위치를 알고 싶은 문자, 특정 위치)
3) 불리언(Boolean)
-다른 자료형과 달리 True 또는 False라는 값만 표현 할 수 있음
**첫번째 문자 (T/F)는 반드시 대문자로 표기해야 함**
-비교 연산자에서 많이 사용됨
e.g)
A가 B보다 큰 데이터가 있을 때,
'A보다 B가 크다'라는 명제는 True로 반환되고,
'A보다 B가 작다'라는 명제는 False로 반환됨
4) 문자와 숫자의 형변환
-수치형을 문자형으로 형변환
str(수치형)
-문자형을 수치형으로 변환
int(문자형) 또는 float(문자형)
*단, 숫자가 아닌 문자열을 수치형으로 형변환을 시도하면 오류가 발생한다.