Python

Day1. 자료형

0ㅑ채 2024. 1. 2. 14:04

 

 

A. 파이썬 시작하기

프로그램 

- Pro + Gram

- 미리 작성된 것을 의미한다. 

 

컴퓨터 프로그램

- 컴퓨터가 무엇을 해야 할지 미리 작성한 진행 계획이다.

 

프로그래밍 언어

- 컴퓨터는 0과 1로 이루어진 이진 숫자만 이해한다. 

- 이런 숫자로 이루어진 코드를 이진 코드라고 한다. 

- 사람이 이해하기 쉬운 언어로 프로그램을 만들기 위해 프로그래밍 언어를 만들었다.

 

프로그래밍 언어로 작성된 소스코드 → 컴파일러(인터프리터) → 실행

*컴파일러 방식: 소스코드 한번에, 인터프리터 방식: 소스코드 한줄씩

 

Python 장단점

  1. 쉽다
  2. 다양한 분야에서 사용 : 웹 서버, 해킹 도구, IoT, 인공지능
  3. 대부분의 운영체제에서 동일하게 사용
  • 그러나 느리다.

 

 

 

B.  PowerShell

폴더에 Shift + 우클릭

python 파일명.py

 

파이썬 안에 있는 내용이 실행되어 나타남!

처음에 안돼서 찾아보니까 파일 이름에 확장명이 없었다.
ls : 폴더에 어떤 파일이 있는지 목록으로 확인

.py 확장명 붙이기!

 

 

 

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")
8글자까지만 가능하다
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)