직접(Direct)형
직접 데이터를 표현하는 자료형이다. 수치형이 여기에 속한다.
예) int, float, complex
시퀀스(Sequence)형
다른 데이터를 포함하는 자료형이다. 순서가 있는 집합 자료형이다.
예) list, str, tuple, bytes, bytearray, range
매핑(Mapping)형
다른 데이터를 포함하는 자료형이다.
예) dict
집합(Set)형
순서가 없고, 중복된 항목도 없다.
예) set, frozenset
변경 가능형(Mutable)
데이터 값을 변경할 수 있다.
예) list, dict, set
변경불가능형(Immutable)
데이터의 값을 변경할 수 없다.
예) int, float, complex, str, tuple, frozenset
리터널(Literal/Scalar)형
한 가지 객체만 저장한다.
예) str, bytes, bytearray, int, float, complex
컨테이너(Container)형
여러 가지 객체를 저장한다.
예) list, tuple, dict, set, frozenset
자료형 | 변경가능성 | 접근 방법 |
---|---|---|
int, float, complex, bool | 불가능 | 직접 |
str | 불가능 | 시퀀스 |
list | 가능 | 시퀀스 |
tuple | 불가능 | 시퀀스 |
dict | 가능 | 매핑 |
bytes | 불가능 | 시퀀스 |
bytearray | 가능 | 시퀀스 |
set | 가능 | 반복자 |
frozenset | 불가능 | 반복자 |
type()
: python에서는 모든 값을 type( )함수를 통해 자료형을 확인 할 수 있다.dir()
: 자료형의 내장함수를 검색할 수 있다.help()
: 자료형에서 제공하는 메소드 사용법을 검색할 수 있다.number 타입은 숫자 값을 저장한다.
python에서 2진수, 8진수, 16진수도 사용할 수 있다.
진법 | 접두 | 사용 가능한 숫자 | 예 |
---|---|---|---|
16진법(hexadecimal) | 0x | 0~9, a~f | 0x2f |
8진법(octal) | 0o | 0~7 | 0o17 |
2진법(binary) | 0b | 0, 1 | 0b1101 |
int(x, [base]) : base 진법의 수를 10진 정수형으로 변환, x가 문자열일 경우 파이썬 정수형으로 변환될 수 있으면 정수로 변환
hex(x) : 0x 접두사로 시작되어 x를 16진수로 변환
oct(x) : 0o 접두사로 시작되어 x를 8진수로 변환
bin(x) : 0b 접두사로 시작되어 x를 2진수로 변환
float(x) : x를 실수형으로 변환. x가 문자열인 경우 파이썬 실수형으로 변환될 수 있으면 실수형으로 변환
연산자 | 기능 | 문법 | 설명 |
---|---|---|---|
+ | 덧셈 | a + b | 두 값을 더함 |
- | 뺄셈 | a – b | a에서 b를 뺌 |
* | 곱셈 | a * b | 두 값을 곱함 |
/ | 나눗셈 | a / b | a에서 b를 나누며 결과는 실수 |
// | 버림 나눗셈 | a //b | a에서 b를 나누었을 때 몫만 구함 |
% | 나머지 | a%b | a에서 b를 나누었을 때 나머지를 구함 |
** | 거듭제곱 | a**b | a를 b번 곱함 |
@ | 행렬곱셈 | a@b | 행렬 a와 b를 곱함 |
연산자 | 문법 | 설명 |
---|---|---|
> | a>b | 큰지 비교한다. |
< | a<b | 작은지 비교한다. |
>= | a>=b | 크거나 같은지 비교한다. |
<= | a<=b | 작거나 같은지 비교한다. |
== | a==b | 같은지 비교한다. |
!= | a!=b | 같지 않은지 비교한다. |
복소수는 크기가 없으므로 대소(>, <)비교연산자는 사용 할 수 없으나 “같다,다르다”는 사용할 수 있다.
연산자 | 문법 | 설명 |
---|---|---|
not | not a | a가 거짓이면 True이고, 아니면 False이다. |
and | a and b | a가 거짓이면 a이고, 아니면 b이다. |
or | a or b | a가 참이면 a이고, 아니면 b이다. |
abs(x)
: x의 절대값을 구한다.divmod(x, y)
: (x // y, x % y)쌍을 구한다.pow(x, y)
: x의 y승을 구한다.max(iterable)
: 최대값을 구한다.min([iterable])
: 최소값을 구한다.sum([iterable)
: 합을 계산한다.string
, list
, tuple
, range
파이썬의 문자열은 총 4가지가 있다.
인공지능에서는 숫자형이 중요하고, 문자열은 상대적으로 잘 다루지 않는다.
결국 문자열을 숫자로 바꾸어 사용!
container
라고 부른다. (clooection이라고도 한다.)homogeneous
라고 한다. (flat라고도 한다.)sequence
라고 한다.homogeneous
, sequence
, immutable
한 container
이다.container는 특성의 종류에 따라서 분류
container의 특징 | |||
---|---|---|---|
구분 | 예 | 아니오 | |
같은 타입만 요소로 갖는가? | homogeneous | <-> | heterogeneous |
순서가 중요한가? | sequence | <-> | non-sequence |
바뀔 수 있는가? | mutable | <-> | immutable |
특수문자는 백슬래시 \를 사용하여 키보드로 표현하기 힘든 문자들을 표현한다.
/n
: 줄 바꿈/t
: 탭/r
: 캐리지 리턴/0
: 널문자/'
: 문자 작은따옴표/"
: 문자 큰따옴표str 포맷팅에 사용하는 서식문자
%s
: s는 'string'의 첫글자로서 문자열을 의미 %d
: d는 'digit'의 첫글자로 정수형숫자를 의미%f
: f는 'floatingpoint'의 첫글자로서 실수형 숫자를 의미%c
: 단일 문자 %h
: 16진수 정수 %o
: 8진수 정수 %%
: %기호자체를 나타내는데 사용함%.2f
: 실수형숫자, .2는소수점 둘째자리까지 나타냄.%6s
: 6자리의 문자열%5d
: 5자리의 정수형 숫자format( )
: 변수의 내용을 표시하기 위한 포맷팅을 수행한다.lower( )
: 대문자를 소문자로 바꾼다.upper( )
: 소문자를 대문자로 바꾼다.swapcase( )
: 대문자는 소문자로, 소문자 대문자로 바꾼다.title( )
: 모든 단어의 첫 문자만 대문자로 나머지는 소문자로 바꾼다.capitalize( )
: 문자열의 첫 글자만 대문자로 나머지는 소문자로 바꾼다.islower( )
: 모든 문자가 소문자이면 True 반환isupper( )
: 모든 문자가 대문자이면 True 반환count(str)
: str이 포함된 개수를 반환find(str)
: str의 첫 위치를 알아낸다. (없다면 -1 반환)index(str)
: str의 첫 위치를 알아낸다. (없다면 예외 발생)join(str)
: str을 구성하는 각 문자 사이에 원 문자열을 끼워 넣는다.lstrip( )
: 좌측 공백을 지운다.rstrip( )
: 우측 공백을 지운다.strip( )
: 양쪽의 공백을 지운다.center(n[,str])
: 크기 n의 문자열의 중앙에 원 문자열을 정렬한다.ljust(n[,str])
: 크기 n의 문자열의 왼쪽에 원 문자열을 정렬한다.rjust(n[,str])
: 크기 n의 문자열의 오른쪽에 원 문자열을 정렬한다.replace(str1, str2)
: 원 문자열 안의 str1을 str2로 바꾼다.split( )
: 공백문자를 기준으로 나누어서 리스트에 저장한다.split(sep)
: sep(문자열)을 기준으로 나누어서 리스트에 저장한다.isalnum( )
: 모든 문자가 알파벳 혹은 숫자(alphanumeric)이면 True 반환isalpha( )
: 모든 문자가 알파벳(alphabet)이면 True 반환isidentifier( )
: 문자열이 식별자의 조건에 맞다면 True 반환isdecimal( )
: 십진 정수이면 True 반환isdigit( )
: 모든 문자가 0에서 9까지 숫자이면 True 반환isnumeric( )
: 모든 문자가 0에서 9까지 숫자이면 True 반환