1. 변수(Variable)

  • 정의: 컴퓨터의 메모리 공간에 이름을 붙이는 것으로, 값을 저장하고 참조하기 위해 사용한다.

  • 생성: 별도의 선언 없이 변수에 값을 할당(=)하면 자동으로 생성됩니다. (예: x = 100)

  • 작동 원리

    • 변수는 실제 값을 저장하는 상자라기보다는, 객체(값)가 저장된 메모리 주소를 가리키는(참조하는) 이름표에 가깝다.
    • id(변수) 함수를 통해 객체의 주소값을 확인할 수 있다.
  • 이름 짓기 규칙

    • 숫자로 시작 불가 (영문자 또는 밑줄 문자로 시작)
    • 영문자, 숫자, 밑줄(_) 사용 가능
    • 대소문자 구별
    • 공백 포함 불가 (공백이 구분자), 특수 기호 사용 불가, 예약어(키워드) 사용 불가
  • Case

    • 낙타체(CamelCase): myNewCar (단어의 첫 글자를 대문자로)
    • 뱀체(Snake_case): my_new_car (단어 사이를 밑줄로 연결)
    • 보통 변수는 낙타체로, 상수는 대문자로 작성한다.

2. 자료형(Data Type)

파이썬은 변수에 저장되는 값에 따라 자료형이 결정된다.

  • 주요 자료형

    • 정수(int): 소수점 없는 숫자 (예: 100, -5)
    • 실수(float): 소수점 있는 숫자 (예: 3.14, 10.0)
    • 문자열(str): 따옴표로 감싸진 문자들의 나열 (예: "Hello", 'Python')
  • cf. 표준 자료형

    • 숫자
      • 정수(integer; %d)
      • 부동소수점(floating-point; %f)
      • 복소수
    • 시퀀스(수열)
      • 리스트(list)
      • 튜플(tuple)
      • 문자열(string; %s)
    • 부울형
  • 객체의 특징

    • 불변 객체(Immutable): 정수, 실수, 문자열, 튜플 등은 한 번 생성되면 값을 변경할 수 없음 (값이 바뀌면 새로운 객체가 생성됨)
    • 가변 객체(Mutable): 리스트, 딕셔너리 등은 값을 변경 가능함

3. 연산자(Operators)

  • 산술 연산자

    • +, -, *, / (나눗셈, 실수 결과)
    • // (정수 나눗셈, 몫)
    • % (나머지)
    • ** (지수/거듭제곱)
  • 할당(대입) 연산자(Assignment Operator)

    • =: 값을 변수에 저장
    • 다중 할당: x = y = z = 0 (여러 변수 초기화), x, y = 10, 20
    • 값 교환: x, y = y, x (파이썬 특유의 편리한 기능)
  • 복합 대입 연산자

    • +=, -=, *=, /= 등 (예: x += yx = x + y와 동일)
기호연산자사용례결괏값복합 연산자
*곱셈2*714*=
**지수(power)2**7128-
/실수 나눗셈7/41.75/=
//정수 나눗셈7//41-
&나머지7%43%=
  • 연산자 우선순위
    • 괄호 () > 지수 ** > 곱셈/나눗셈 *, / > 덧셈/뺄셈 +, -

4. 문자열(String)

  • 표현: 큰따옴표(") 또는 작은따옴표(')로 감쌈. 여러 줄은 삼중 따옴표(""" 또는 ''') 사용

  • 연산

    • +: 문자열 연결 (결합)
    • *: 문자열 반복 (예: "Hello" * 3 "HelloHelloHello")
  • 인덱싱: 문자열 내부의 특정 문자에 접근 (0부터 시작, -1은 마지막 문자)

  • 특수 문자(이스케이프): \n (줄바꿈), \t (탭) 등

  • 형 변환: 숫자와 문자열은 직접 연산 불가. str(), int(), float() 함수를 사용하여 변환해야 함

  • cf. 문자열 포매팅

    • 직접 넣기: “I eat“, variable, “apples.“
    • f-문자열 포매팅: f“나의 이름은 {variable}입니다.”
    • 문자열 포맷 코드: “I eat %d apples.” % 3
    • format 함수: “I eat {variable} apples.“.format(3)

5. 입력과 출력(Input & Output)

  • 입력 (input())

    • 사용자로부터 데이터를 입력받을 때 사용
    • 무조건 문자열(String) 형태로 반환되므로, 숫자로 계산하려면 int()float()로 변환해야 함
    • 예: age = int(input("나이를 입력하세요: "))
  • 출력 (print())

    • 화면에 결과 출력. 콤마(,)로 여러 값을 나열하여 출력 가능
    • 형식화된 출력: f-string, % 서식 지정자 등을 사용해 소수점 자리수 등을 조절 가능

6. 기타

  • 주석(Comment): # 뒤의 내용은 실행되지 않으며, 코드 설명이나 임시 비활성화 용도로 사용
  • 상수(Constant): 관례적으로 대문자로 이름을 지어 변하지 않는 값임을 표시 (예: PI = 3.14, TAX_RATE)