Python Basic Syntax

 


📘 1장. 프로그래밍의 기본 개념

1.1 프로그래밍이란?

🔰 초보자 비유

프로그래밍은 컴퓨터에게 “해야 할 일”을 아주 상세하게 지시하는 일이다.
예를 들어, 친구에게 “라면 끓여줘”라고 말하면, 친구는 알아서 물 끓이고 스프 넣고 면 넣지만, 컴퓨터는 ‘알아서’라는 게 없다.
컴퓨터는 “물을 몇 ml 넣어라”, “3분 동안 끓여라”처럼 모든 단계가 명확하게 적혀 있어야만 움직인다.

🔍 기술적 정의

프로그래밍(Programming)이란,

컴퓨터에게 특정 문제를 해결하도록 명령어를 작성하여 전달하는 과정이다.


1.2 프로그램(Program)이란?

🔰 비유

‘프로그램’은 요리 레시피와 같다.
레시피가 순서대로 “무엇을 어떻게 해라”라고 적혀 있듯, 프로그램도 컴퓨터가 따라야 할 명령들을 순서대로 적어둔 것이다.

🔍 정의

프로그램(program)

문제를 해결하기 위한 명령어들의 집합.


📘 2장. Python 소개 및 실행

2.1 왜 파이썬을 배우는가?

자료(페이지 전체)에서 말한 핵심 이유를 초보자 관점으로 재정리하면 다음과 같다.

✔ 파이썬이 쉬운 이유

  • 문법이 간결하다 → 영어 문장처럼 읽힌다.
  • 초보자도 빠르게 프로그래밍 결과를 경험할 수 있다.
  • 다양한 분야에서 사용된다 → 응용력이 뛰어나다.

✔ 파이썬이 강력한 이유

  • AI, 머신러닝, 데이터 분석에서 표준 언어처럼 사용됨
  • 라이브러리가 풍부함 (numpy, pandas, tensorflow 등)

2.2 파이썬 실행 방식

파이썬은 크게 두 가지 방식으로 실행된다.

① 인터프리터 방식

  • 한 줄 쓰면 바로 실행됨
  • 예) Python 셸에서 3 + 5 입력 → 바로 결과 출력

② 스크립트 방식

  • .py 파일을 작성해 저장한 뒤 실행
  • 예) python sample.py

📘 3장. 표현식(Expression)과 값(Value)

3.1 표현식(Expression)

🔰 비유

표현식은 “계산해보면 값이 나오는 모든 문장”이다.
예)

  • 3 + 5
  • "hello"
  • a * 2

🔍 정의

표현식(Expression)

값으로 평가될 수 있는 모든 코드 조각.


3.2 값(Value)

🔰 비유

‘값’은 표현식이 계산된 뒤 최종적으로 도출된 결과이다.
식당에서 요리를 주문하면 결과로 음식이 나오듯,
표현식을 계산하면 값이 나온다.

예)

  • 3 + 58
  • "hello""hello"

3.3 평가(Evaluation)

평가란, 표현식을 계산하여 값을 만드는 과정이다.


📘 4장. 변수와 메모리

4.1 변수란?

🔰 비유

변수는 라벨(label)이다.
물건(값)에는 이름이 없는데, 그 물건에 이름표를 붙여서 다시 찾기 쉽게 만드는 것과 같다.

예)

degrees = 36.5

→ "36.5라는 값을 ‘degrees’라는 이름표로 부르겠다"

🔍 기술적 정의

변수(variable)

값을 다시 사용하기 위해 메모리 공간에 붙여놓은 이름.


4.2 변수 할당(assignment)

코드:

degrees = 36.5

line-by-line 해설

  • degrees: 변수 이름
  • =: 값을 변수에 ‘할당한다’는 의미
  • 36.5: 메모리에 저장되는 값

4.3 변수와 메모리의 구조(자료 기준)

원본 자료의 그림에서는 변수가 “값을 가리킨다”고 표현함.

즉, 파이썬에서 변수는 값을 저장하는 것이 아니라 ‘값이 저장된 위치’를 가리킨다.

이것은 나중에 가변성/불변성 개념에서 중요해짐.


4.4 재할당(Reassignment)

예)

degrees = 10
degrees = 'hello'

동일한 이름이라도 이전 값과는 연결이 끊기고, 새로운 값을 가리키게 된다.


4.5 중요한 특징 — 파이썬은 “이름표” 방식

자료 페이지에서도 강조되었듯,

파이썬에서 변수는 값을 가리키는 이름(name)이다.
즉, C처럼 “상자가 있고 그 안에 값이 들어있다”가 아니다.


📘 5장. 데이터 타입 개요 (Data Types)

5.1 타입이란?

🔰 비유

“수학 문제에서 ‘정수만 입력 가능’과 같은 조건”
→ 프로그래밍에서도 값마다 타입이 있다.

🔍 정의

타입(Type)이란

변수나 값이 가질 수 있는 데이터의 종류.


5.2 파이썬의 주요 타입 분류

✔ 숫자형

  • int
  • float
  • complex

✔ 시퀀스형

  • str
  • list
  • tuple
  • range

✔ 매핑형

  • dict

✔ 집합형

  • set

✔ 기타

  • bool
  • None

📘 6장. 숫자형(int, float)

6.1 정수형 int

예)

student_count = 30
temperature = -5
balance = 0

6.2 실수형 float

예)

pi = 3.14
weight = 65.5
tax_rate = 0.1

과학적 표기법:

  • 1.23e9
  • 3.5e-3

6.3 산술 연산자

기호 의미
+ 더하기
- 빼기
* 곱하기
/ 나누기
//
% 나머지
** 거듭제곱

예)

3 ** 2  # 9

📘 7장. 문자열(str)

7.1 문자열이란?

비유

문자들이 줄줄이 이어진 “구슬 목걸이”.

정의

문자열(str)

문자들의 순서가 있는 변경 불가능(immutable) 시퀀스.


7.2 문자열 생성하기

따옴표 사용

'Hello'
"Hello"

escape sequence

예)

  • \n : 줄바꿈
  • \t : 탭

7.3 f-string

예)

name = '혜령'
age = 25
greeting = f"안녕하세요. 제 이름은 {name}이고 나이는 {age}입니다."

7.4 시퀀스로서의 문자열

문자열은 시퀀스이므로 다음이 가능하다.

  • 인덱싱
  • 슬라이싱
  • 반복
  • 길이 확인

7.5 인덱싱

예)
문자열: "hello"

문자 h e l l o
index 0 1 2 3 4
index(-) -5 -4 -3 -2 -1
"hello"[1]  # 'e'

7.6 슬라이싱

"hello"[1:4]  # 'ell'

7.7 문자열의 불변성(immutable)

중요!

s = "hello"
s[0] = 'H'   # ❌ 오류

문자열은 변경할 수 없다.


📘 8장. 리스트(list)

8.1 리스트란?

비유

서랍 안에 여러 물건을 순서대로 넣어둔 것.

정의

리스트(list)

여러 값을 순서대로 저장하는 변경 가능(mutable) 시퀀스형.


8.2 리스트 예시

my_list = [1, 2, 3]
my_list2 = ['a', 'b', 'c']
my_list3 = [3, 'Python', ['hello', 'world']]

8.3 중첩 리스트

예)

nested = [1, 2, [3, 4, 5]]

8.4 리스트의 가변성

리스트는 내부 요소 변경이 가능하다.

my_list = [1, 2, 3]
my_list[0] = 100

📘 9장. 튜플(tuple)

9.1 튜플이란?

비유

붙이면 더 이상 변경할 수 없는 “완성된 도시락”.

정의

튜플(tuple)

여러 값을 순서대로 저장하는 변경 불가능(immutable) 시퀀스형.


9.2 생성

my_tuple = (1, 2, 3)

주의: 요소가 1개일 때는 (1,) 형태여야 함.


9.3 불변성 예시

my_tuple[0] = 4   # ❌ 오류

📘 10장. range

10.1 정의

range

일정한 규칙을 가진 숫자 시퀀스를 생성하는 타입.

예)

range(0, 5)  # 0,1,2,3,4

10.2 형식

range(start, stop, step)

10.3 규칙

stop은 포함되지 않는다.

예)

range(1, 5)  # 1,2,3,4

📘 11장. 딕셔너리(dict)

11.1 정의

비유

“단어장”: 단어(key) → 뜻(value)

기술적 정의

dict

key-value 쌍으로 이루어진 매핑(mapping) 자료형.


11.2 생성 예시

my_dict = {'name': '혜령', 'age': 25}

11.3 값 접근

my_dict['name']   # '혜령'

11.4 key 규칙

  • key는 immutable이어야 한다.
    → str, int, float, tuple 가능
    → list, dict는 불가

📘 12장. set (세트)

12.1 세트란?

비유

순서 없고, 중복 없는 “봉지 속 구슬”.

정의

set

중복 없이 저장하는 변경 가능(mutable) 자료형.


12.2 집합 연산

a | b   # 합집합
a & b   # 교집합
a - b   # 차집합

📘 13장. 불변 vs 가변

타입 불변 가변
str
tuple
range
list
dict
set

📘 14장. 형변환

14.1 암시적 형변환

파이썬이 자동으로 타입을 변환하는 경우.

예)

3 + 3.5   # 6.5 (float)

14.2 명시적 형변환

개발자가 직접 함수를 써서 변환.

예)

int('10')  # 10
float('3.14')  # 3.14
str(123)  # '123'

📘 15장. 연산자

15.1 산술 연산자

이미 앞에서 설명함.

15.2 비교 연산자

기호 의미
== 같다
!= 다르다
> 크다
< 작다
>= 이상
<= 이하
is 객체 동일성
is not 동일하지 않음

is는 값 비교가 아니라 “같은 객체인가” 비교
→ None 비교할 때 필수.


15.3 논리 연산자

연산자 의미
and 둘 다 True
or 하나만 True
not 반전

15.4 단축 평가(short-circuit)

예)

False and something  # something 평가되지 않음

🎯 마무리: 

실습 1 — 타입과 구조 연습

아래 데이터를 파이썬에서 직접 만들고,
각 요소를 인덱스로 접근해보기.

data = {
    'name': '혜령',
    'scores': [95, 88, 74],
    'info': ('Korea', 25),
    'tags': {'python', 'learning'},
}

실습 2 — 문자열 포맷팅 실습

다음 값을 f-string으로 문장 만들기.

name = '혜령'
age = 25
lang = 'Python'

 

'Language& Framework > Python' 카테고리의 다른 글

OOP  (1) 2025.12.12
Data Structure  (0) 2025.12.12
Functions. & Module Control of Flow  (0) 2025.12.12
myoskin