변수(variable) #
어떠한 값을 담는 저장공간과 그것을 부르는 명칭으로 다음과 같은 규칙이 존재한다.
- 영문자, _로 시작을해야함
- 대소문자를 구분함
- 특수문자 사용불가능
- 공백이 존재할 수 없음
- 파이썬의 예약어(if else …) 사용불가능
변수에는 문자, 숫자, 데이터타입등을 선언할 수 있음. 변수를 선언하면 임의의 메모리와 주소를 할당함.
자료형(datatype) #
사용자의 데이터를 프로그래밍 언어가 이해가능한 형식으로 정의 하는것을 일컬으며, 프로그램에서 저장하는 데이터의 타입으로 다음과 같은 형식들이 있다.
- NoneType : 어디에도 속하지 않는 해석불가능 타입
- 숫자(numeric)
- 정수(integral)
- 정수(int) : -1,0,1,…
- 부울(bool) : 참과 거짓을 나타내는 자료형
- 실수(float) : 1.04
- 복소수(complex) : 1+5i
- 정수(integral)
- 수열(sequence)
- 불변(immutable)
- 문자열(str) : 문자들의 집합
- 튜플(tuple) : 순서를 가지는 집합으로 ()으로 구성이됨
- 바이트(bytes) : 바이트 나열 타입 e.x. b’0’ == b’\x00’
- 변형(mutable)
- 리스트(list) : 순서를 가지는 집합으로 []으로 구성이됨
- 비트어레이(byte arrays) : 변형가능한 바이트 나열 타입
- 불변(immutable)
- 매칭(mapping)
- 딕셔너리 : 순서를 가지지 않은 집합으로 {}으로 구성되며 key와 value 쌍으로 구성이된다.
- 집합 : 중복이 없고 순서를 가지지 않는 객체의 모음
- 집합(set) : 중복이 없고 순서를 가지지 않는 객체의 모음
- 정적집합(frozen set) : 집합과 같지만 변형이 불가능
숫자형 #
숫자를 나타내는 형식으로 아래와 같다.
- 정수 : 소숫점이 없는 숫자
- 실수, 부동 소숫점 : 소숫점이 있는 숫자
숫자연산은 사칙연산, 나머지(%), 몫(//), 제곱(**)으로 구성된다.
숫자형변환은 문자형의 숫자, 형식이 다른 숫자형들 사이의 변환을 지원한다. $e.x., \;$ int(), float()
문자열 자료형 #
문자를 나타내는 형식으로 아래와 같은 방식을 따른다.
- 큰 따옴표, 작은 따옴표로 문자열 만들기
- 문자열 내부에 따옴표 넣기
- 이스케이프 문자를 사용해 문자열 만들기 e.x.) \n \t …
- 여러줄 문자열 만들기 e.x.)
- 줄바꿈 없이 문자열 만들기
문자열도 숫자열 처럼 연산이 가능해진다.
- (+)연산자는 문자열을 더함
- (*)연산자는 문자열을 반복함
문자열은 숫자열과 다르게 각각의 문자가 독립적으로 구성이 되는데 이에 따라서 인덱싱(열 내부의 값을 지정) 과 슬라이싱(문자열의 범위 선택)이 아래와 같이 가능하다.
- ([]) 문자 선택 연산자(넘버링을 통해서 순서대로 추출가능)
- 문자 선택 연산자를 이용하여 넘버링 하는것을 인덱스라고 한다.
- 순방향 인덱스는 0에서 부터 증가
- 역방향 인덱스는 -1에서 부터 감소
- ([:]) 문자 범위 선택 연산자
- 문자범위 선태가 전후에 인덱스를 이용하여 범위를 선택함
문자열에 다른 문자열과 숫자열을 넣으려고 할때 포멧에 맞춰서 넣어줘야 하며 포멧은 포멧팅은 여러 종류가 있다.
-
%포멧팅은 아래와 같다.
- %d : 정수형 대입
- %f : 실수형 대입
- %s : 문자열 대입
- %c : 문자 대입
- %o : 8진수
- %x : 16진수
data = "hello %s world %d" %("to this", 10)
- .format()포멧팅은 아래와 같다.
data = "hello {0} world {1}".format("to this", 10)
- .f string 포멧팅은 아래와 같다.
data = f"hello <var1> world <var2>"
문자열을 사용함에 있어서 주로 사용되는 함수는 아래와 같다.
- .len() : 문자열 길이 출력
- .split(’.’) : 문자열 나누기
- .count() : 문자 갯수 세기
- .replace(’a’,’b’) : 문자열 바꾸기
- .find(’a’) : 문자열 인덱싱 찾기
- .upper() : 문자열 대문자로 변경
- .lower() : 문자열 소문자로 변경
- ‘a’.join(x) : 문자열 삽입 (x문자열의 문자사이에 a넣기)
리스트 자료형 #
([])의 내부에 요소들을 넣는 자료형을 지칭하며 ‘,’으로 구분되며 여러가지 자료형을 담을 수 있다.
리스트도 문자열과 같은 연산이 가능하다.
리스트형도 문자열 처럼 인덱싱과 슬라이싱이 가능하다.
리스트는 인덱싱 또는 슬라이싱을 기반으로 하여 내부의 요소들을 아래와 같이 변경 또는 삭제가 가능하다.
- List[1] = ‘b’ : 리스트의 두번째 요소를 ‘b’로 변경
- List[1:3] = [’a’,’b’] : 리스트의 두번째, 세번째 요소를 ‘a’,‘b’로 변경
- del List[n] = 리스트 n+1번째 요소 삭제
리스트 자료형을 사용함에 있어서 주로 사용되는 함수는 아래와 같다.
- len(List[]) : 리스트 길이 출력
- .sort() : 리스트 정렬
- .reverse() : 리스트 뒤집기
- .append(x) : 리스트 뒤에 요소 추가
- .extend([]) : 리스트 확장
- .insert(n,’a’) : n+1번째에 ‘a’삽입
- .remove(n) : 리스트 n+1번째 요소 제거
- .pop(n) : 리스트 n+1번째 요소 꺼내기(꺼낸 요소는 삭제됨)
- .count(x) : 리스트에 포함된 ‘x’의 갯수 확인
튜플 자료형 #
(())의 내부에 요소들을 넣는 자료형을 지칭하며 ‘,’으로 구분되며 여러가지 자료형을 담을 수 있다. 리스트와 다른점은 내부의 데이터가 수정 및 삭제가 안되는것이다.
특이점으로는 하나의 요소를 사용할때는 마지막에 (,)가 필요하고, (()) 없이도 튜플로 사용이 가능한것이다.
튜플도 리스트와 같은 연산이 가능하다.
튜플도 리스트형 처럼 인덱싱과 슬라이싱이 가능하다.
딕셔너리 자료형 #
({})의 내부에 요소들을 넣는 자료형을 지칭하며 key, value로 구분되며 여러가지 자료형을 담을 수 있다. 리스트와 비교해보면 인덱스 대신 key를 사용한다. 딕셔너리에서 value를 추출하기 위해서는 Dic[’key’]와 같이 사용한다.
딕셔너리는 내부의 value를 변경과 삭제가 가능하다.
딕셔너리 자료형을 사용함에 있어서 주로 사용되는 함수는 아래와 같다.
- .keys() : key값을 리스트로 만듬
- .values() : value값을 리스트로 만듬
- .items() : key,value 쌍 얻기
- .get(key) : key로 value 얻기
- ‘key’ in Dic : key가 존재하는지 확인
- .clear() : 딕셔너리 내부 삭제
집합 자료형 #
set()을 사용하는 비중복성 자료형이다. 명제의 집합과 같은 형태를 가진다.
집합은 다음과 같은 연산이 가능하다.
- | (합집합) : 집합간의 합집합을 구한다.
- & (교집합) : 집합간의 교집합을 구한다.
- - (차집합) : 집합간의 차집합을 구한다.
집합 자료형을 사용함에 있어서 주로 사용되는 함수는 아래와 같다.
- .add(’a’) : 한개의 값(’a’)을 추가
- .update([]) : 여러개의 값([])을 추가
- .remove(’a’) : 특정값(’a’) 삭제
부울 자료형 #
참과 거짓을 나타내는 자료형으로 조건형으로 사용된다. $e.x., \;$ “a” == “a”, bool(’’)⇒False, bool(’d’)⇒True