Day1. 자료형
A. 파이썬 시작하기
프로그램
- Pro + Gram
- 미리 작성된 것을 의미한다.
컴퓨터 프로그램
- 컴퓨터가 무엇을 해야 할지 미리 작성한 진행 계획이다.
프로그래밍 언어
- 컴퓨터는 0과 1로 이루어진 이진 숫자만 이해한다.
- 이런 숫자로 이루어진 코드를 이진 코드라고 한다.
- 사람이 이해하기 쉬운 언어로 프로그램을 만들기 위해 프로그래밍 언어를 만들었다.
프로그래밍 언어로 작성된 소스코드 → 컴파일러(인터프리터) → 실행 |
*컴파일러 방식: 소스코드 한번에, 인터프리터 방식: 소스코드 한줄씩
Python 장단점
- 쉽다
- 다양한 분야에서 사용 : 웹 서버, 해킹 도구, IoT, 인공지능
- 대부분의 운영체제에서 동일하게 사용
- 그러나 느리다.
B. PowerShell
폴더에 Shift + 우클릭
python 파일명.py
파이썬 안에 있는 내용이 실행되어 나타남! |
처음에 안돼서 찾아보니까 파일 이름에 확장명이 없었다.
ls : 폴더에 어떤 파일이 있는지 목록으로 확인
C. 파이썬 용어
- 문장: 실행할 수 있는 코드의 최소 단위다.
-표현식: 어떠한 값을 만들어 내는 간단한 코드다.
-키워드: (=예약어) 변수명·함수명·클래스명으로 쓸 수 없다.
['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', 'break',
'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for',
'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not',
'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']
-식별자: 이름을 붙일 때, 주로 변수 또는 함수 이름 등으로 사용한다.
- 키워드 사용 불가
- 특수 문자는 언더바(_)만 허용
- 숫자로 시작 불가
- 공백 불가
- 스네이크 케이스(snake_case) : 함수(), 변수
- 캐멀 케이스 (CamelCase): 클래스
-출력: print()
- 인수: 괄호 안에 있는 것
- 인수가 여러개인 출력도 가능 (2024, "year", "입니다")
- 줄바꿈: 괄호 안에 인수가 없을 때 그냥 줄바꿈됨!
D. 자료형
문자열 (String)
- 큰따옴표나 작은따옴표나 상관없다.
- 문자열 내부에 따옴표를 사용할 경우, 작은따옴표를 사용해야한다.
- 혹은 이스케이프 문자를 사용한다.
print(""안녕하세요"라고 말했습니다") #오류
print("'안녕하세요'라고 말했습니다") #가능
print("\"안녕하세요\"라고 말했습니다") #가능
> 이스케이프 문자
print("GURUM\t3\tGANGSEO")
print("GURUM1\t3\tGANGSEO")
print("GURUM12\t3\tGANGSEO")
print("GURUM123\t3\tGANGSEO")

print("""자동으로
줄바꿈됨""")
[인덱싱]
print("안녕하세요"[0]) #안
print("안녕하세요"[-1]) #요
print("안녕하세요"[-5]) #안
[슬라:이싱]
print("안녕하세요"[0:2]) #안녕
print("안녕하세요"[1:4]) #녕하세
숫자형
정수 나누기 연산자 //
print("3//2= ", 3//2) #3//2= 1
print("2**2= ", 2**2) #2**2= 4
데이터 분류
mutable: 변경 가능한 데이터 (variable)
- 동시성 제어가 안됨.
- 2002년 한게임 포커 돈복사 버그 사태
- 그래서 메소드를 통해 제어한다. (접근자 메소드)
immutable: 변경 불가능한 데이터 (constant + literal)
*literal: 우리가 직접 작성한 값
- 동시에 작업이 가능.
scala data: 1개의 데이터. 참조 자체가 데이터 (value type)
vector data: 0개 이상의 데이터 모임. 참조가 데이터의 시작 위치를 의미하며 index나 key를 이용해서 접근 (reference type)
정형 데이터: 모양이 동일한 데이터, 테이블 형태의 데잍
비정형 데이터: 모양이 일정하지 않은 데이터 (ex.텍스트나 음성)
반정형 데이터: 대부분의 경우 텍스트인데 메타 데이터를 확인하면 정형 데이터로 변경 가능한 데이터 (ex. csv, json, txt, xml, yaml)