글 목록

파이썬 (Python) 기초 1: 연산자 (operators), 데이터 타입, 변수명

안녕하세요 여몽의 눈동자입니다.

저도 파이썬 (Python)을 배우는 중이라 파이썬 언어의 기초부터 스스로 정리를 해 나가려고 합니다. 오늘은 그 첫번째로 파이썬에서의 연산자와 데이터 타입에 대해 정리합니다.

I. 연산자

1. 산술 연산자 (arithmetric operators)

다음은 파이썬 산술연산자를 연산 우선순위대로 나열한 것입니다. 물론 수학에서와 마찬가지로 괄호를 써서 연산우선 순위를 별도로 지정할 수 있습니다.


산술 연산자
의미 
예시
결과
**
거듭제곱
2**3 
8
*
곱하기
3*6
9
/
나누기
17/3
5.666...
//
나누기 한 몫 (정수)
17/3
5
%
나누기 한 나머지 (정수)
17/3
2
+
더하기
2+3
5
-
빼기
2-3
-1


다만 파이썬 버전 2와 3에서 나누기와 관련해 차이가 있으니 유의해야합니다. 버전 3 이전의 경우 /를 정수와 정수 사이에 사용하는 경우 나누기 한 몫(정수)을 반환하였습니다. 즉 5/2의 값은 2 였는데요 (그러나 만약 5/2. 을 하는 경우 2.5 반환, 이 경우 2. 이 정수가 아니므로 값도 정수로 제한되지 않음) 버전 3에서의 /는 정수를 정수로 나누는 경우에도 나누기 한 결과값은 실수가 될 수 있습니다. 즉 5/2 는 2.5가 됩니다.  

파이썬 버전 2에서 나눗셈 연산자(/)를 버전 3처럼 사용하려면 프로그램 앞에
from __future__ import division 을 넣어야 합니다.

2. 비교 연산자 (comparison operators)

다음은 비교연산자 입니다. 여타 대부분의 프로그램과 마찬가지로 '='는 할당연산자 입니다. 즉 a=10 이라면 a 라는 변수에 10이라는 값을 할당한다는(저장한다는) 의미입니다. 같다를 표현하려면 '=='를 써야한다는 점에 유의해야 겠습니다.


비교 연산자
의미 
a < b
a 가 b 보다 작다.
a <= b
a 가 b 보다 작거나 같다.
a > b
a 가 b 보다 크다.
a >= b
a 가 b 보다 크거나 같다.
a == b
a와 b가 같다.
a != b
a와 b가 다르다.

3. 논리 연산자 (logical operators) 


논리 연산자
의미 
a and b
a 그리고 b 
a or b
a 또는 b 
not
논리상태 반전 (a가 참이면 not a 는 거짓)

4. 할당 연산자 (assignment operators)

예를 들어, a = a+1은 수학적으로는 말이 안되지만 파이썬에서는 변수 a의 원래 값에 1을 더하라 라는 의미가 됩니다. 워낙 이러한 경우가 많기 때문에 이를 간편하게 하기위해 할당연산자도 좀 더 다양하게 존재합니다.



할당 연산자
의미 
예시
a = b 
a 에 b의 값을 할당 
a = 10
a += b
a에  a 의 원래 값에 b값을 더한 값을 할당 
a += 10 (a = a+10 과 동일)
a -= b
a에  a 의 원래 값에 b값을 뺀 값을 할당 
a -= 10 (a = a-10 과 동일)
a *= b
a에  a 의 원래 값에 b값을 곱한 값을 할당 
a *= 10 (a = a*10 과 동일)
a /= b
a에  a 의 원래 값에 b값을 나눈 값을 할당 
a /= 10 (a = a/10 과 동일)
a **= b
a에  a 의 원래 값에 b값을 거듭제곱 한 값을 할당 
a **= 10 (a = a**10 과 동일)
a //= b
a에  a 의 원래 값에 b값을 나눈 몫을 할당 
a //= 10 (a = a//10 과 동일)
a %= b
a에  a 의 원래 값에 b값을 나눈 나머지를 할당 
a %= 10 (a = a%10 과 동일)

II. 데이터 타입

가장 많이 쓰이는 데이터 타입은 다음과 같습니다.

타입
설명 
예시
Integer
정수 
-2, -1, 0, 1, 2 ...
Floating point
실수
3.1415, -1.1, 2.173 ...
Complex
복소수
1+2j, 3-9j ...
String
문자열
‘Happy’, ‘joy’, ‘world’ ...
파이썬은 소수점이 들어가 있지 않은 수의 경우 자동으로 정수로 인식합니다. 또한 실수끼리의 연산의 경우 설령 %나 // 연산의 경우에도 결과값은 실수가 반환됩니다. (예, 17.0//5. -> 3.0) 복소수의 경우 허수부는 j를 써서 나타냄을 알 수 있습니다.


III. 변수명

변수 이름은 알파벳 또는 특수문자 '_'로 시작해야 하며 그 이후로는 알파벳, 숫자, 특수문자 '_'가 허용되며 기타 특수문자는 허용되지 않습니다.

변수 이름 중간에 공백은 허용되지 않습니다.

변수명은 대문자와 소문자를 구분합니다. 즉 velocity 와 Velocity는 다른 변수로 각자 다른 값을 저장할 수 있습니다.

그밖에 다음의 단어들은 프로그램 문법으로 사용되므로 변수 이름으로 사용될 수 없습니다.



and
as
assert
break
class
continue
def
del
elif
else
except
finally
for
from
global
if
import
in
is
lambda
None
nonlocal
not
or
pass
raise
return
try
while
with
yield
TRUE
FALSE
 
 




댓글