728x90

Python에서 기본 자료형

Data Type - Python에서는 선언하는 순간 데이터 타입을 자동으로 판단 및 설정(동적언어, dynamic typing)

유형 유형 유형 설명 예시 선언형태

수치자료형 정수형 integer 양/음의 정수 1,2,3,…,100, -9 data = 1
수치자료형 실수형 float 소수점이 포함된 실수 10.2, -9.4 data =2.3
문자형 문자형 string 따옴표(’/”)에 들어가 있는 문자 abc, dfe, df39g data = ‘abc’
논리/불린 자료형   boolean 참 또는 거짓 True, False data = True
a = 1 #integer 자료형
a = 1.3 #float 자료형
a = "hello" #string 자료형
a = True #boolean 자료형

연산자

  1. 연산자 : + , -, /, * 등
  2. 피연산자 : 연산자에 의해 계산이 되는 것. ex) 3 + 2 에서 3,2는 피연산자

연산자 연산 예시 연산자 연산 예시

+ 더하기 1 + 1 = 2 - 빼기 1 - 1 = 0
/ 나누기 4 / 2 = 2 * 곱하기 2 * 3 = 6
** 제곱 3 ** 2 = 9 // 나눈 몫 9 // 2 = 4
% 나머지 7 % 4 = 3 += 증가연산 a = 1, a += 1 ⇒ a = 2
-= 감소연산 a = 1, a -= 1 ⇒ a = 0      

데이터형 관련 문법

  1. float() 와 int()를 이용하여 형변환 가능.
  2. float형 → int 변환 시 버림계산 | 엑셀 int함수 많이 사용했었다.
  3. 데이터형 변환 문자 → 숫자
    1) 문자형(string)으로 입력시 c + d 연산시 문자로 인식하여 12.6이 아닌 5.67이 됨.
    2) 문자형(string)으로 입력된 문자를 숫자로 변환가능
  4. 데이터형 변환 숫자 → 문자 : 숫자형(int, float)을 문자형으로 변경시 문자형으로 결합
  5. 숫자형과 문자형의 연산시 에러 발생(연산 불가)

list

데이터 집합, sequence 자료형

list_a = ["one", "two", 3, 4.0, True]

다양한 자료형을 담을 수 있음.

list의 특징

  • 인덱싱(indexing)
    • list에 있는 값은 주소(offset)을 가짐, 각 주소(offset)은 [ 0, 1, 2, 3, 4, ….]순으로 0부터 시작함.
    → 컴퓨터가 주소를 할당하는 방식으로 인해 0부터 시작하며 주소계산, 길이계산 등 계산이 유리
    • list_a[3] = 4.0
  • → 역순도 가능함, list_a = [-5, -4, -3, -2, -1]순으로 주소(offset)이 지정됨: 마지막이 -1로 시작.

 

  • 슬라이싱 : 리스트의 값을 일부 또는 전체를 잘라서 사용.
# list[start:end:step]의 명령어로 사용
list_a[:] = ["one", "two", 3, 4.0, True] #전체
list_a[2:] = [3, 4.0, True] #2번째부터 끝까지
list_a[:1] = ["one", "two"] #처음부터 1번째까지
list_a[1:4:2] = ["two", 4.0] #1번째부터 4번째까지 2개 계단씩
list_a[-3:] = [3, 4.0, True] #-3번째부터 끝까지
  • 리스트 연산 : 수정, 추가, 제거, 결합, 정렬 등 다양한 연산 가능
list_a[0] = 1 # 수정
list_a = [1, "two", 3, 4.0, True] #0번째 데이터만 수정
list_a.append(["one","two"]) # 추가
lsit_a = ["one", "two", 3, 4.0, True, ["one", "two"]] # 리스트에 추가, list안에 list포함 가능
list_a.remove("two") # 제거 del list_a[1] # 제거(메모리를 삭제하는 개념)
list_a = ["one", 3, 4.0, True] # "two"만 제거, 1번째 삭제
a = [1, 3, 4, 2] a.sort() # 오름차순 정렬
a = [1, 2, 3, 4] a.reverse() # 내림차순 정렬
a = [4, 3, 2, 1] list_a = ["one", 3, 4.0, True] # 정렬 불가능. string과 int, float 비교불가 에러
list_a.extend(["one", "two"]) # 병합
list_a + ["one", "two"]
list_a = ["one", "two", 3, 4.0, True, "one", "two"] # append와는 다름.
list_a.insert(0, "three") # 삽입
list_a = ["three", "one", "two", 3, 4.0, True] # x번째 자리에 추가, 0번째 자리에 추가

 

 

패킹과 언패킹

  • 패킹 : 한 변수에 여러개의 데이터를 넣는 것.
  • 언패킹 : 한 변수에 있는 여러 데이터를 나누는 것. 🎱 주의점: 나누는 데이터와 변수의 개수가 일치해야함.
t = [1, 2, 3] # 패킹
a, b, c = t # 언패킹, t의 1,2,3을 각각 a,b,c에 넣음.
print(a, b, c, t)
1 2 3 [1, 2, 3]

 

  • 이차원 리스트 : 리스트 안에 리스트를 만들어 행렬 생성중간고사 A B C
    국어점수 89 90 100
    수학점수 70 23 69
    영어점수 100 99 38
    kor_score = [89, 90, 100] # 국어점수
    mat_score = [70, 23, 69] # 수학점수
    eng_score = [100, 99, 38] # 영어점수
    midterm_score = [kor_score, mat_score, eng_score]
        #리스트 2개를 결합하여 '중간고사' 표생성
    midterm_score[0][1]. # 첫[]은 행 두번째[]은 열
    90
728x90

'개발자 공부' 카테고리의 다른 글

data 구조 및 종류  (2) 2023.05.16
Function 2  (0) 2023.05.11
String(문자열)  (0) 2023.05.10
Console 및 입출력  (0) 2023.05.09
Variable(변수)  (0) 2023.05.08

+ Recent posts