본문 바로가기

컴퓨터 관련/파이썬

[파이썬] 1. 파이썬 변수와 연산자 정리

728x90
반응형

1. 파이썬의 개요

1.1. 한 줄에 여러가지 구문 처리

print("Hello"); print("Hello")

1.2. 파이썬의 들여쓰기가 구문을 결정

  • 들여쓰기는 스페이스바를 4번 누르거나,
  • 텍스트 편집기를 통해 자동으로 된다.
if(x<10):
  print("10보다 작은 수")

2. 파이썬의 변수

2.1. 변수 선언하기

  • 기본형
Variable = Value
# Variable: 변수 이름 지정
# Value: 변수에 저장할 값 지정
# num이라는 변수에, 10이라는 값을 저장
num = 10

2.2. 형변환하기

  • int(Value): Value를 정수형으로 형변환한다.
  • float(Value): Value를 실수형으로 형변환한다.
  • str(Value): Value를 문자열로 형변환한다.
a = 10
a = float(10) # 소수점으로 형변환
b = int(10.0)
c = str(10)

print(type(a))
print(type(b))
print(type(c))

print(a)
  • 실수형에서 정수형으로 형변환하기
# 실수형에서 정수형으로 형변환 시 소수점 이하 내림처리
a = 10.8
b = 10.2
a = int(a) # a = 10
b = int(b) # b = 10
print(a+b) # a+b = 20
  • 문자열에서 실수로 형변환하기
a = '23.23'
b = float(a)
print(a)
#print(a+b) #문자열과 숫자(실수)는 연산이 불가능하다.

2.3. 파이썬 변수의 주소 부여방법

  • 파이썬의 모든 것은 객체이다. 즉, 파이썬의 변수도 하나의 객체이다.
  • 스택에는 메모리주소를 가지고 있고, 힙에서 실제 값을 가지고 있다.
  • 변수는 값이 보관되어 있는 곳의 주소값을 가지고 있음.
# 파이썬에서 같은 값이면, 변수 주소이 같다. (얕은 복사)
x = 10
y = 10
z = '10'
print(hex(id(x)))
print(hex(id(y)))
print(hex(id(z)))

# 하지만 값이 달라지면, 변수 주소도 달라진다. (깊은 복사)
x = 9
y = 10
print(hex(id(x)))
print(hex(id(y)))

# 객체를 참조하면 ref count가 증가한다.
import sys

x = 10
y = 10
z = 10
print(sys.getrefcount(x))

# None/del을 통해 객체와의 연결을 끊어줄 수 있다.
y = None
del z
print(sys.getrefcount(x))

3. 연산자

3.1. 산술 연산자

  • 산술 연산자는 두 수(정수,실수)를 계산하기 위한 연산자
  • 피연산자는 무조건 2개만 가능하다.
이름 문법 함수
더하기(Addition) a + b add(a, b)
빼기(Subtraction) a - b sub(a, b)
부정 (산술)(Negation (Arithmetic)) - a neg(a)
곱하기(Multiplication) a * b mul(a, b)
나누기: 전체결과(Division) a / b truediv(a, b)
나누기: 몫(Division) a // b floordiv(a, b)
모듈로: 나머지(Modulo) a % b mod(a, b)

3.2. 증감 연산자

  • 파이썬은 "++a; a++;" 와 같은 연산자를 지원하지 않는다.
a = 1
a = a + 1; a+=1

3.3. 비교 연산자

  • 두 변수를 비교하는데 사용하는 연산자
  • 연산의 결과로 Bool형이 반환된다.
  • 예시) a=1이고 b=2일 때, a != b이면 False.
이름 문법 함수
대소비교(Ordering) a < b lt(a, b)
대소비교(Ordering) a <= b le(a, b)
동등성(Equality) a == b eq(a, b)
다름(Difference) a != b ne(a, b)
대소비교(Ordering) a >= b ge(a, b)
대소비교(Ordering) a > b gt(a, b)

3.4. 논리 연산자

  • 논리 연산자: 두 개 이상의 조건을 물어볼 때 사용.
  • 순서가 헷갈릴 때는 괄호로 구분해줘야 한다.
이름 설명 문법 함수
비트별 논리곱(Bitwise And) 양쪽이 모두 True일 때만 True a & b and_(a, b)
비트별 논리합(Bitwise Or) 어느 한 쪽이 True이면 True a | b or_(a, b)
비트별 반전(Bitwise Inversion) 원래 있는 조건이 반전이 됨 (True <-> False) ~ a invert(a)
비트별 배타적 논리합(Bitwise Exclusive Or) 서로 다르면 True a ^ b xor(a, b)

3.5. 비트 연산자

  • 비트를 이동하는 데 사용하는 연산자.
이름 문법 함수
오른쪽으로 시프트(Right Shift) a >> b rshift(a, b)
왼쪽으로 시프트(Left Shift) a << b lshift(a, b)

4. 불 자료형

4.1. 불 자료형이란?

  • 참(True)과 거짓(False)로 구분되는 자료형
  • 이 자료형을 이용해, 조건분기나 반복문의 조건으로써 사용가능

4.2. 불 형변환

  • Bool형으로의 형변환
bool(Variable)
# Variable: bool형으로 형변환 할 변수 지정
a = 'Python'
b = ''
print(bool(a))
print(bool(b))
  • 다른 자료형으로의 형변환
int/float/str(Variable)
# Variable: 다른형으로 형변환 할 변수 지정
a = True
print(int(a))
print(float(a))
print(str(a))

4.3. Bool을 숫자로 활용하기

  • True는 1로, False는 0으로 사용됨
  • 따라서, 조건을 제시할 때 1이나 0으로 제시해도 된다.
while 0:
    print("해당 구문은 실행되지 않습니다.")
반응형