Python
파이썬 기초 1 - 자료형
retill28
2024. 7. 5. 00:58
1. 숫자형
- int (정수형)
- float (실수형)
- 숫자형은 연산이 가능하다.
더보기
a = 3
b = 4
print(a + b)
print(a - b)
print(a * b)
print(a / b)
print(a ** b) #제곱
print(a % b) #나눗셈 후 나머지
print(a // b) #나눗셈 후 몫
a == b #비교연산 - a와 b가 같은가
2. 문자형
- string - 문자 형태로 이루어진 자료형, 따옴표(''), 큰 따옴표("")로 글자를 감싼다
- '123'이라는 값은 백이심삼 이라는 수량 값이 아니라 123이라는 숫자로 나타난 문자
- 긴 문자는 '''Hello, World! Hello, Python!''' 처럼 따옴표 3개로 표기 가능
- 문자열 연산은 아래와 같다.
-
더보기문자열 연산 1 (+)a = 'Hello, World'b = 'Hello, Python'c = a + bprint(c) #Hello, WorldHello, Python문자열 연산 2 (*)a = 'Python'print(a * 2) #PythonPython
- 문자열 인덱싱 - 번호를 붙여서 일종의 항목화를 하는 것.
-
더보기문자열은 배열로 취급, 첫번째 글자를 0으로, 마지막글자를 -1로 시작하여 인덱싱을 할 수 있다.a = 'Hello, World'print(a[0]) #Hprint(a[-1]) #d
- 문자열 슬라이싱 - 변수[시작 인덱스:끝 인덱스:간격] 형식으로 배열 중 일부만 갖고올 수 있다.
-
더보기a = 'Hello, World'print(a[3:7]) #honprint(a[:-1]) #Pythoprint(a[1:-1:3]) #eoWl
- 문자열 함수
-
더보기
- upper: 대문자로 변환한 값을 출력
- lower: 소문자로 변환한 값을 출력
- lstrip, rstrip, strip: 공백 제거한 값을 출력
- count: 문자열 안의 특정 문자열 개수 세기
- find: 문자열 안의 특정 문자열이 처음 나온 위치 반환
- 문자열이 없으면 -1을 반환
- index: find와 같으나 문자열이 없으면 오류 발생
- join: 특정 문자열을 각각의 문자 사이에 삽입하여 출력
- split: 특정 문자열을 기준으로 문자열을 나눈 값을 출력
- replace: 특정 문자열을 특정 문자열로 반환
- startswith, endswith: 특정 문자열로 시작하는지/끝나는지 확인
- len : 문자열 길이 구하기
- str(123) : 123이라는 숫자를 문자열로 전환
- int('123') : 123이라는 문자를 숫자로 전환
- 문자열 포맷팅 - 문자열 안에 어떤 값을 삽입하는 방법
-
더보기num = 14a = 'My favorite number is {}'.format(num) # format 함수 사용a = f'My favorite number is {num}' # f스트림 사용
3. 리스트형
- 요소들을 모아서 만든 일종의 행렬
- 요소들을 대괄호로 감싸서 만들수 있다.
-
더보기a = [1,2,3,4,5] # a[2] = 3b = ['life','is','too','short'] # b[2] = 'too'c = [1,2,'life','is'] # c[1] = 2
- 리스트도 인덱싱이 가능하다. N중 리스트의 경우 인덱싱을 여러번 한다.
-
더보기d = [1,2,['life','is',['too','short']]]print(d[-1][2:]) #[['too', 'short']]
- 리스트 연산
-
더보기`+`: 리스트와 리스트를 순서대로 연결하여 하나의 리스트를 만듭니다.`*`: 리스트와 숫자형을 곱하여 리스트 안의 요소를 숫자만큼 반복한 하나의 리스트를 만듭니다.a = [1,2,3]b = [4,5,6]a + b #[1, 2, 3, 4, 5, 6]a * 3 #[1, 2, 3, 1, 2, 3, 1, 2, 3]
- 리스트 함수
-
더보기
- len 함수: 리스트의 길이를 구합니다.
- sum, min, max 함수: 리스트 요소들의 합, 최솟값, 최댓값을 구합니다.
- in: 특정 요소가 리스트 안에 있는지 확인합니다.
- append, extend: append는 리스트의 맨 마지막에 요소를 추가, extend는 리스트의 맨 마지막에 다른 리스트를 추가합니다.
- insert: 리스트의 특정 위치에 특정 요소를 삽입합니다.
- remove, pop: 리스트의 요소를 삭제합니다.
- count: 리스트의 특정 요소의 개수를 반환합니다.
- index: 리스트에 요소가 있는 경우 인덱스 값을 반환합니다.
- sort, sorted: 리스트를 정렬합니다.
- join: 리스트의 요소들을 하나의 문자열로 합칩니다.
- split: 문자열을 리스트의 요소들로 쪼갭니다.
- range (시작 인덱스, 끝 인덱스, 간격) - 시작부터 끝까지 간격만큼 규칙적으로 건너뛴다.
list(range(1, 10)) #[1, 2, 3, 4, 5, 6, 7, 8, 9]
list(range(1, 10, 2)) #[1, 3, 5, 7, 9]
4. 튜플형
- 리스트처럼 여러 요소를 묶는 자료형
- 튜플은 수정과 삭제가 불가하다.
- 괄호( )로 감싸서 만들 수 있다.
- 튜플도 인덱싱이 가능하다
-
더보기d = (1,2,['life','is',('too','short')]) # d[2][2] = ('too', 'short')b = ('life','is','too','short')
- 튜플도 연산 (+ , *)이 가능하다.
-
더보기a = (1,2,3)b = (4,5,6)a + b #(1, 2, 3, 4, 5, 6)a * 3 #(1, 2, 3, 1, 2, 3)
- 튜플 함수
-
더보기
- len: 튜플의 길이를 구합니다.
- sum, min, max: 튜플의 요소들의 합, 최솟값, 최댓값을 구합니다.
- in: 특정 요소가 튜플 안에 있는지 확인합니다.
- count: 튜플의 특정 요소의 개수를 반환합니다.
- index: 튜플에 요소가 있는 경우 인덱스 값을 반환합니다.
- join: 튜플의 요소들을 하나의 문자열로 합칩니다.
- append, insert, extend, remove, pop, sort, ... 은 사용 불가
- sorted() 는 사용가능. 단, 반환값은 리스트이다.
- list(튜플이름) : 튜플을 리스트로 바꿈
- lambda(람다) 함수와의 결합 (리스트도 가능)
lambda x:x[인덱스] - x를 input 하면 x[ ]를 반환한다.
- max(튜플, key = lambda x:x[인덱스]) : 다중 튜플의 경우 정렬 기준을 정의하여 튜플 내 최댓값을 탐색함
- min(튜플, key = lambda x:x[인덱스]) : 다중 튜플의 경우 정렬 기준을 정의하여 튜플 내 최솟값을 탐색함
-
더보기a = (('a', 1), ('b',7), ('c', 3), ('d', -5), ('e', -9))print(max(a, key = lambda x:x[0])) #('e', -9)print(max(a, key = lambda x:x[1])) #('d', -5)
5. 딕셔너리
- 키(Key): 값(Value)의 쌍이 모여있는 사전 형태의 자료형입니다.
- 키: 값의 쌍을 중괄호({})로 감싸줍니다.
- 변수명 = {'키1':값, '키2':값, ...} 모양으로 선언이 가능
-
더보기dic = {'name':'merry',\'num':1,\'birth':'jan'}dic #{'name': 'merry', 'num': 1, 'birth': 'jan'}
- 키는 중복될 수 없고, 리스트는 키가 될 수 없습니다.
- 위치로 인덱싱이 되지 않습니다. 다만, 인덱싱처럼 키 값으로 딕셔너리 값을 찾을 수 있다.
-
더보기print(dic['name']) #['merry', 'john']print(dic['num']) #[1, 2, 3]
- 딕셔너리 추가, 변경, 삭제
-
더보기dic['country'] = ['Korea','US'] #추가dic['country'] = ['Korea',"China"] #변경del dic['country'] #삭제
- 딕셔너리 함수
-
더보기
- keys(): 키들을 반환합니다.
- values(): 값들을 반환합니다.
- items(): 키와 값의 튜플 쌍들을 반환합니다.
- get(원하는키값): 원하는 키 값에 대응되는 값을 반환합니다.
- 딕셔너리변수명[원하는키값]과 똑같은 값을 반환합니다.
- update: 딕셔너리에 새로운 딕셔너리를 추가합니다.
- zip: 튜플/리스트 두 개를 하나의 딕셔너리로 변환합니다.
6. 집합
- 순서가 없고 중복이 없는 자료형입니다. 따라서 인덱싱을 위해선 리스트나 튜플로 바꿔서 한다.
- 요소들을 중괄호({})로 감싸서 선언한다.
-
더보기s1 = set([1,2,'a']) # {'a', 1, 2}s2 = set("Hello") # {'e', 'l', 'o', 'H'}
- 집합의 연산
-
더보기s1 = set([1,2,3,4,5,6,7,8,9,10])s2 = set([5,6,7,8,9,10,11,12])print(s1&s2)print(s1.intersection(s2)) # 1. 교집합#{5, 6, 7, 8, 9, 10}print(s1-s2)print(s1.difference(s2)) # 2. 차집합#{1, 2, 3, 4}print(s1|s2)print(s1.union(s2)) # 3. 합집합#{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}
- 집합의 추가, 제거
-
더보기
- add: 요소를 추가
- remove: 요소를 제거
7. 불 (Bool)
- 참 또는 거짓을 나타내는 자료형
- True, False로 나타내야 한다. (첫 문자가 항상 대문자)