객체(저장된 데이터) = 자료형
변수명 = 변수에 저장할 값(데이터)
프로그램에서 나타낼 수 있는 데이터의 종류
프로그램이 실행 시점에 동적으로 판단하여 자료형을 결정하는 것
변수의 메모리 공간을 생성하는 시점 -> 프로그램이 실행되는 시점
num = 8 처럼 프로그램 실행 시점(8의 값이 저장될 때)에 인터프리터가 정수(int)임을 판단하여 메모리의 타입을 결정
int num = 10 과 같이 프로그램 실행 이전에 변수의 타입을 정의함
a = 0c177 # 127
b = 0xABC # 2748
c = 123
a = 1.2
b = 4.23E10 # 4.24x10^10
x^y를 나타내는 ** 연산자"hello world!"
"A"
"100"
food = "Python's favorite food is perl"say = '"Python is very easy." he says.'food = 'Python\'s favorite food is perl'head = "Python"
tail = " is fun!"
head + tail # Python is fun!
a = "Python"
a * 2 # PythonPython
a = "Python"
len(a) # 6
a[index]- 인 경우는 뒤에서부터 앞으로a = "Python"
a[0:4] # Pyth
a[시작 index : 끝 index]a = "Python"
a[:4] # Pyth (0~index까지)
a[4:] # on (index~n-1까지)
1_숫자 바로 대입 %d(정수)
>>> "I eat %d apples." % 3
'I eat 3 apples.'
2_문자열 포맷 코드 %s
>>>"I eat %s apples." % 'five'
'I eat five apples.'
3_숫자 값을 나타내는 변수 대입
>>> number = 3
>>> "I eat %d apples." % number
'I eat 3 apples.'
4_2개 이상의 값 넣기
>>> number = 3
>>> day = "three"
>>> "I ate %d apples. so I was sick for %s days." % (number, day)
' I ate 3 apples. so I was sick for three days.'
| 코드 | 설명 | 특징 |
|---|---|---|
| %s | 문자열(string) | (숫자와 함께 사용 시) 공백/정렬 표현 가능 |
| %c | 문자(character) | 소수점 뒤에 나올 숫자의 개수 조절/정렬 가능 |
| %d | 정수(integer) | |
| %f | 부동소수(floating-point) | |
| %o | 8진수 | |
| %x | 16진수 | |
| %% | Literal % (문자 % 자체) |
1_숫자 바로 대입
>>> "I eat {0} apples.".format(3)
'I eat 3 apples.'
2_숫자 값을 나타내는 변수 대입
>>> number = 3
>>> "I eat {0} apples.".format(number)
'I eat 3 apples.'
3_문자열 바로 대입
>>> "I eat {0} apples.".format("five")
'I eat five apples.'
4_2개 이상의 값 넣기
>>> number = 3
>>> day = "three"
>>> "I ate {0} apples. so I was sick for {1} days." % (number, day)
'I ate 3 apples. so I was sick for three days.'
5_이름으로 넣기
>>> "I ate {number} apples. so I was sick for {day} days." % (number=3, day=3)
'I ate 3 apples. so I was sick for 3 days.'
>>> name = '홍길동'
>>> age = 30
>>> f'나의 이름은 {name}입니다. 나이는 {age}입니다.'
'나의 이름은 홍길동입니다. 나이는 30입니다.'
| 이름 | 설명 |
|---|---|
| count() | 문자 개수 세기 |
| join() | 문자열 삽입 |
| find() | 위치 알려주기 (찾는 문자열이 처음 나온 위치 반환, 없으면 -1 반환) |
| index() | 위치 알려주기 (찾는 문자열이 처음 나온 위치 반환, 없으면 오류) |
| upper() | 소문자 -> 대문자 변경 |
| lower() | 대문자 -> 소문자 변경 |
| strip() | 양쪽 공백 지우기 |
| lstrip() | 왼쪽 공백 지우기 |
| rstrip() | 오른쪽 공백 지우기 |
| replace() | 문자열 바꾸기 (바뀔 문자열, 바꿀 문자열) |
| split() | 문자열 나누기 (분리된 문자열을 리스트로 반환) |
bool() 함수로 자료형의 참/거짓 식별 가능
산술 연산자
| 연산기호 | 설명 |
|---|---|
| + | 더하기 |
| - | 빼기 |
| * | 곱하기 |
| / | 나누기 |
| % | 나머지 |
| ** | 제곱 |
| // | 몫 |
관계 연산자
| 연산기호 | 설명 |
|---|---|
| == | 두 값이 같다 |
| != | 두 값이 다르다 |
| > | 왼쪽 값이 오른쪽 값보다 크다 |
| < | 왼쪽 값이 오른쪽 값보다 작다 |
| >= | 왼쪽 값이 오른쪽 값보다 크거나 같다 |
| <= | 왼쪽 값이 오른쪽 값보다 작거나 같다 |
논리 연산자
| 연산기호 | 설명 |
|---|---|
| and | 논리 AND 연산, 둘 다 참이어야 참 |
| or | 논리 OR 연산, 둘 중 하나만 참이면 참 |
| not | 논리 NOT 연산, 논리 상태를 반전 |
대입 연산자
| 연산기호 | 설명 |
|---|---|
| = | 왼쪽 변수에 오른쪽 값을 할당 |
| += | 왼쪽 변수에 오른쪽 값을 더하고 결과를 왼쪽 변수에 할당 |
| -= | 왼쪽 변수에 오른쪽 값을 빼고 결과를 왼쪽 변수에 할당 |
| *= | 왼쪽 변수에 오른쪽 값을 곱하고 결과를 왼쪽 변수에 할당 |
| /= | 왼쪽 변수에 오른쪽 값을 나누고 결과를 왼쪽 변수에 할당 |
| %= | 왼쪽 변수에 오른쪽 값을 나눈 나머지를 왼쪽 변수에 할당 |
| **= | 왼쪽 변수에 오른쪽 값만큼 제곱하고 결과를 왼쪽 변수에 할당 |
| //= | 왼쪽 변수에 오른쪽 값을 나눈 몫을 왼쪽 변수에 할당 |
멤버 연산자
| 연산기호 | 설명 |
|---|---|
| in | list 내 포함되어 있으면 참 |
| not in | list 내 포함되어 있지 않으면 참 |
식별 연산자
| 연산기호 | 설명 |
|---|---|
| is | 개체 메모리 위치나 값이 같다면 참 |
| is not | 개체 메모리 위치나 값이 다르다면 참 |
| 연산기호 | 설명 |
|---|---|
| + | 2개의 리스트 합침 |
| * | 리스트 반복 |
| len() | 리스트 길이 구할 수 있음 |
1_리스트 수정
>>> a = [1, 2, 3]
>>> a[2] = 4
>>> a
[1, 2, 4]
2_리스트 삭제
>>> a = [1, 2, 3]
>>> del a[1]
>>> a
[1, 3]
del [object]: 리스트 요소 삭제
| 이름 | 설명 |
|---|---|
| append() | 맨 마지막에 요소 추가 |
| sort() | 요소를 순서대로 정렬 |
| reverse() | 역순으로 뒤집어 줌 |
| index() | 요소를 검색하여 위치 값 반환, 존재하지 않으면 오류 |
| insert(a, b) | a번째 위치에 b를 삽입 |
| remove(a) | 첫 번째로 나오는 a를 삭제, 값이 여러 개면 첫 번째만 삭제 |
| pop(a) | 맨 마지막 요소 or a번째 요소를 돌려주고 해당 요소 삭제 |
| count(a) | 리스트에 포함된 a의 개수 반환 |
| extend(a) | 리스트에 리스트를 더함, 리스트 타입만 가능 |
1_딕셔너리 추가
>>> a = {1: 'a'}
>>> a[2] = 'b' # Key가 2인 Key-Value 쌍 추가
>>> a
{1: 'a', 2: 'b'}
2_딕셔너리 삭제
>>> a = {1: 'a', 2: 'b'}
>>> del a[1] # Key가 1인 Key-Value 쌍 삭제
>>> a
{2: 'b'}
del [object]: 리스트 요소 삭제
| 이름 | 설명 |
|---|---|
| keys() | Key만 모아서 dict_keys 객체 반환 (리스트 관련 함수 사용 불가) |
| values() | Value만 모아서 dict_keys 객체 반환 |
| items() | Key, Value 쌍을 튜플로 묶어 dict_items 객체 반환 |
| clear() | 딕셔너리 내 모든 요소 삭제, 빈 딕셔너리({})가 됨 |
| in a | 해당 Key(a)가 존재하면 True, 없으면 False 반환 |
| get(a) | Key(a)에 대응되는 Value 반환, 없다면 None 반환, 미리 지정한 값을 갖고오도록 지정 가능 |
>>> s1 = set([1, 2, 3])
>>> s1
{1, 2, 3}
>>> s2 = set("hello")
>>> s2
{'e', 'h', 'l', 'o'}
>>> s1 = set([1, 2, 3, 4, 5, 6])
>>> s2 = set([4, 5, 6, 7, 8, 9])
1_교집합: '&' 기호 or intersection() 함수 사용
>>> s1 & s2 # s1.intersection(s2)도 가능
{4, 5, 6}
2_합집합: '|' 기호 or union() 함수 사용
>>> s1 | s2 # s1.union(s2)도 가능
{1, 2, 3, 4, 5, 6, 7, 8, 9}
3_차집합: '-' 기호 or difference() 함수 사용
>>> s1 - s2 # s1.difference(s2)도 가능
{1, 2, 3}
>>> s2 - s1 # s2.difference(s1)도 가능
{8, 9, 7}
| 이름 | 설명 |
|---|---|
| add() | 값 1개 추가하기 |
| update() | 값 여러 개 추가하기 |
| remove() | 특정 값 제거하기 |