본문 바로가기
개발공부/Python : 파이썬

파이썬 훑어보기 2 - 변수와 자료형, 연산자

by 개발자D 2024. 12. 10.

파이썬 훑어보기 2 - 변수와 자료형, 연산자

 

변수

변수 선언, 할당

변수를 선언, 할당 참조할 때 자료형을 지정하지 않습니다. 동적으로 타입 추정이 가능합니다. 같은 변수에 여러 자료형의 값을 넣는 것도 가능합니다. 

변수 = 값

 

식별자 명명 규칙

  • 변수, 함수명 : 스네이크 케이스 ( snake_case )
  • 클래스 : 파스칼 케이스 ( PascalCase )

 

⭐ 변수 이름을 반복문을 돌려 할당하기

파이썬에서는 변수 이름을 반복문을 돌려 할당하는 것이 가능합니다.

for i in range(10):   
	globals()['variable{}'.format(i)] = [0]

# variable0 = [0]
# variable1 = [0]
# ...
# variable9 = [0]

 

자료형

기본 자료형 (Primitive Data Types)

기본 자료형을 제외한 자료형은 모두 객체 자료형에 해당됩니다. 

 

문자열 str

텍스트 데이터를 표현하는 자료형입니다. ""나 ''처럼 따옴표로 정의됩니다.

 

숫자 number

정수형 int : 정수를 나타내는 자료형. 크기 제한이 없습니다.

 

실수형 float : 실수형은 부동 소수점형식으로, 정밀도가 제한됩니다.

더보기

 부동 소수점

실수형 변수는 값을 부동소수점수의 형태로 저장합니다. 부동소수점수는 다음과 같이 세 부분으로 나누어 저장됩니다.

float: S(1 bit) + E(11 bit) + M(52 bit)

 

S : 부호, 0이면 양수 1이면 음수
E : 지수, 부호 있는 정수, 지수의 범위는 -1023 ~ 1024
M : 가수, 실제값을 저장하는 부분, 10진수로 15자리의 정밀도로 저장 가능

 

부동소수점의 오차

부동소수점으로 표현된 실수는 오차가 있을 수 있습니다. 그 이유는 위와 같이 실수를 표현하는 크기의 범위가 정해져 있는데, 실수에는 무한소수가 존재하기 때문입니다. 더군다나, 10진수로는 유한소수이더라도, 2진수로 변환하면 무한소수가 되는 경우도 있습니다.

 

정확한 실수 연산을 하려면 decimal 모듈을 사용해야 합니다.

 

복소수형 complex : 실수부와 허수부를 가지는 숫자를 표현하는 자료형.

 

불 bool

논리값 (True, False)을 가지는 자료형입니다. Java, Kotlin과 달리 첫 글자를 대문자로 씁니다. 

 

NoneType

파이썬에서 아무것도 리턴하지 않았을 때는 None을 반환합니다. None의 자료형은 NoneType입니다.

 

type()

type()으로 해당 변수의 자료형을 확인할 수 있습니다.

 

 

연산자

문자형 연산자

  • + : 문자열들을 연결합니다.
  • * : 문자열을 반복합니다.
  • [] : 문자열의 문자를 선택합니다. 이 기능을 인덱싱이라고 합니다.
  • [:] : 문자열의 특정 범위를 추출합니다. 이 기능을 슬라이싱이라고 합니다. 

⭐ 인덱싱, 슬라이싱

  • [n] : 인덱스 n의 문자를 선택합니다. 인덱스는 0부터 시작하며, 음수를 입력하면 문자열의 뒤에서부터 순서를 셉니다.
  • [n:m] : 인덱스 n부터 m - 1까지의 문자들을 추출합니다. n과 m 중 하나는 생략이 가능합니다. n을 생략할 경우 0:와 같고, m을 생략할 경우 :문자열의 길이와 같습니다.
  • [n:m:s] : 인덱스 n부터 m - 1까지의 문자들을 s씩 건너뛰며 추출합니다. [n:m]과 마찬가지로 n과 m 중 하나는 생략이 가능합니다. s는 당연히 생략할 수 없겠죠?

 

숫자형 연산자

  • +, -, *, /, //, %, ** : 사칙연산자
    • 수학의 사칙연산과 같은 방식으로 동작합니다. 
    • / : 소수점 아래값까지 계산됩니다.
    • // : 소수점 아래값은 버리고 정수 몫만을 계산합니다.
    • % : 나머지를 구합니다.
    • ** : 제곱 연산자입니다.
    • 예 ) 2 ** 4 = 16
    • 사칙 연산자는 연산자 우선순위가 적용됩니다.

 

불형 연산자

  • not, and, or : 논리 연산자
    • not : True를 False로, False를 True로 전환합니다.
    • and : 피연산자가 모두 True일 때 True, 그 외에는 False를 반환합니다.
    • or : 피연산자가 모두 False일 때 False, 그 외에는 True를 반환합니다.
  • ==, !=, >, >=, <, <= : 비교 연산자  
    • 1 <  a <= 3 처럼 비교 연산자를 이어 쓸 수 있습니다.

 

형변환 cast

자료형을 변환하는 것을 형변환이라고 합니다. 

자료형()

 

형변환할 때는 형변환할 값이 형변환 할 자료형 형식이어야 합니다.

예 )

int( “3” ) → 형변환 가능,

int( ”3.1415” ) → 형변환 불가능

 

int() : int 자료형으로 변환합니다.

float() : float 자료형으로 변환합니다.

str() : str 자료형으로 변환합니다.

chr() : chr 자료형으로 변환합니다.

bool() : bool 자료형으로 변환합니다.

 

조건문에서 불형으로의 변환

None, 숫자 0, 0.0, 빈 컨테이너 (빈 문자열, 빈 바이트열, 빈 리스트, 빈 튜플, 빈 딕셔너리) → False로 변환됩니다.

나머지 → True로 변환됩니다.

 

 

유니코드

문자는 Unicode값과 항상 대응됩니다. 

 

"A"는 65

"a"는 97

"가"는 44032

ord("A") # 65
chr(65) # "A"

 

ord()를 사용하면 문자에 해당하는 유니코드 정수값을 알 수 있고,

chr()을 사용하면 유니코드 정수값에 해당하는 문자를 알 수 있습니다.