
1. 숫자형
2. 문자열
3. 리스트
4. 튜플
5. 딕셔너리
6. 집합(set)
7. 불
8. 변수
1. 숫자형
- 정수형
- >>> a = 123
- 실수형
- >>> a = 1.7
- 8진수
- >>> a = 0o777
- 16진수
- >>> a = 0xCDE
- 연산 (a=3, b=2)
- a + b // 5
- a - b // 1
- a * b // 6
- a / b // 1.5
- a ** b // 9
- a % b // 1
- a // b // 1
2. 문자열
- 문자열 생성
- "string"
- 'str'
- """string""" // 여러줄인 문자열 입력시
- '''string''' // 여러줄인 문자열 입력시
- 문자열 연산
- "abc" + "def" // "abcedf"
- "abc" * 2 // "abcabc"
- len("abc") // 3
- 문자열 인덱싱
- a = "this is string" // a[5] = 'i' , a[-2] = 'n'
- 문자열 슬라이싱
- a = "this is string"
- a[0:5] = "this i"
- a[3:] = " s is string"
- a[:-2] = "this is stri"
- 문자열 포매팅(formatting)
- "this is %s" %string // 'this is string'
- "%d is three" %3 // '3 is number'
- "{0} is {1}" .format(3, "number") // '3 is number'
- 문자열 내장함수
- a = "apple"; a.count('p') // 2 : p의 갯수
- a = "apple"; a.find('p') // 1 : 첫번째 p의 인덱스
- "," .join('abcd') // 'a,b,c,d' : 문자열 의 각각의 문자 사이에 "," 삽입
- a = " bc"; a.lstrip() // a="bc" : 문자열의 가장 왼쪽 공백 제거
- a = "bc "; a.rstrip() // a="bc" : 문자열의 가장 오른쪽 공백 제거
- a = " bc "; a.strip() // a="bc" : 문자열 양쪽 공백 제거
- a = "abc"; a.replace("bc", "ee") // a= "aee" : 문자열 바꾸기
- a = "this is string"; a.split() // ["this", "is", "string"] 공백을 기준으로 문자열 나눔
3. 리스트
- 리스트생성
- a = [ 1, "abc", [ 2, "def"]]
- 리스트 인덱싱
- a[2][1] // "def"
- a[0] + a[2][0] // 3
- 리스트 슬라이싱
- a[1: ] // ["abc", [2,"def"]]
- 리스트 연산
- a = [1,2,3]; b[4,5,6]; a+b // [1,2,3,4,5,6]
- a = [1,2,3]; len(a) // 3
- 리스트 수정
- a = [1,2,3]; a[1] = 4 // [1,4,3]
- del함수 - 요소삭제
- a = [1,2,3]; del a[1] // [1,3]
- 리스트내장함수
- a = [1,2,3]; a.ppend(4) // [1,2,3,4]
- a = ['c', 'a', 'a']; a.sort() // ['a', 'b', 'c']
- a = [1,2,3]; a.index(2) // 1
- a = [1,2,3]; a.insert(1, 'a') // [1,'a',2,3]
- a = [1,2,3,4,3]; a.remove(3) // [1,2,4,3]
- a = [1,2,3]; a.pop() // 3, a = [1,2]
4. 튜플
- 특징 : 요소값의 수정이 불가능
- 튜플 생성
- a = (1, 'a', ( 2, 'bc'))
- 튜플 인덱싱
- a[1] // 'a'
- a[2][0] // 2
- 튜플 슬라이싱
- a[1:] // ('a',(2,'bc'))
- 튜플 연산
- a[0] + a[2][0] // 3
- len(a) // 3
5. 딕셔너리
- 정의 : '키-값'의 쌍으로 이루어진 자료형
- 딕셔너리 생성
- a = { 'name' : 'kim', 'age' : 22, 'list' : [1,2,3] }
- 딕셔너리 쌍 추가
- a['job'] = 'police' // a = { 'name' : 'kim', 'age' : 22, 'list' : [1,2,3], 'job' : 'police' }
- 딕셔너리 쌍 삭제
- del a['age'] // a = { 'name' : 'kim', 'list' : [1,2,3], 'job' : 'police' }
- 딕셔너리 요소 접근
- a['list] // [1,2,3]
- 내장함수
- 키 리스트 만들기 1 : a.keys() // dict_keys(['name', 'age', 'list']) : 키값을 가지고 있는 "객체" 반환
- 키 리스트 만들기 2 : list(a.keys()) // ['name', 'age', 'list'] : 키 값을 가지고 있는 "리스트"반환
- 값 리스트 만들기 1 : a.values() // dict_values(['kim', 22, [1,2,3]]) 객체반환
- 리스트 만들기 2 : list(a.values()) // ['kim', 22, [1,2,3] ]
- 키-값 쌍 얻기 1 : a.items() // dict_items( [ ('name', 'kim'), ('age', 22), ('list', [1,2,3] ) ] )
- 키-값 쌍 얻기 2 : list(a.items()) // [('name', 'kim'), ('age', 22), ('list', [1,2,3] ) ]
- 키-값 쌍 모두 지우기 : a.clear()
- 키로 값 얻기 : a.get('name') // 'kim'
- 해당 키가 딕셔너리 안에 있는지 검사 : 'name' in a // true
6. 집합(set)
- 정의 : 집합 관련 연산을 쉽게 처리하기 위해 만들어진 자료형으로 고유한 특징을 가진다.
- 특징
- 중복을 허용하지 않는다
- 순서가 없다 -> set자료형에 저장된 값을 인덱싱으로 접근하려면 리스트나 튜플로 변환 후 접근
- 생성
- s1 = set([1,2,3]); s2 = set([3,4,5])
- 연산
- 교집합 : s1 & s2 or s1.intersection(s2) // { 3 }
- 차집합 : s1- s2 or s1.difference(s2) // { 1, 2 }
- 합집합 : s1 | s2 or s1.union(s2) // { 1, 2, 3, 4, 5 }
- 내장함수
- 값 추가 : s1.add(4) // { 1, 2, 3, 4 }
- 값 여러개 추가 : s1.update([4,5]) // { 1, 2, 3, 4, 5 }
- 특정값 제거 : s1.remove(2) // { 1, 3 }
- 활용법
- 리스트로 변환 : l1 = list(s1); l1[1] // 2
- 튜플로 변환 : t1 = tuple(s1); t1[1] // 2
7. 불
- 정의 : 침과 거짓을 나타내는 자료형
- 생성
- a = True
- b = False
- 자료형의 참과 거짓 : 문자열, 리스트, 튜플, 딕셔너리 등의 값이 비어 있으면 거짓이 되고, 비어 있지 않으면 참
- False : "", [], (), {}, 0, None
- True : "a", [0], (1), {2:3}, -1 (영이 아닌 숫자)
- 불연산
- bool([]) // False
- bool((0)) // True
8. 변수
- 정의 : 객체(자료형)가 저장된 메모리 주소를 가리키는 것
- 메모리 주소 확인 : id(a) // 123123243
- 복사
- 단순 복사 : 동일한 객체를 가리킴
- a = [ 1,2,[1,2]]; b= a; id(a) == id(b) // True
- 얕은 복사 : 복합객체(껍데기)만 복사, 그 내용은 동일한 객체
- import copy; b = copy.copy(a); b[0] =3; b[2].append(3);
- print(a) // [1,2,[1,2,3]]
- print(b) // [3,2,[1,2,3]]
- 깊은 복사 : 복합객체 복사 + 그 내용도 재귀적으로 복사
- import copy; b = copy.deepcopy(a); b[0] = 3; b[2].append(3);
- print(a) // [1,2,[1,2]]
- print(b) // [3,2,[1,2,3]]
- 단순 복사 : 동일한 객체를 가리킴
'Python > python' 카테고리의 다른 글
파이썬 기본 문법 (0) | 2020.07.12 |
---|---|
파이썬 기본 문법 4 : 예외처리 (0) | 2020.03.16 |
파이썬 기본 문법 3 : 클래스, 모듈, 패키지 (0) | 2020.03.16 |
파이썬 기본 문법 2 : 제어문, 함수, 입출력 (0) | 2020.03.16 |