운영자#

소개#

파이썬에서 연산자는 값과 변수에 대한 연산을 수행할 수 있도록 하는 특수한 기호와 키워드입니다. 연산자는 산술, 비교, 논리, 비트 연산, 대입 연산 등 매우 다양한 기능을 제공합니다. 이러한 연산자를 숙달하는 것은 표현력이 풍부하고 효율적인 파이썬 코드를 작성하는 데 필수적이며, 프로그램의 거의 모든 계산 또는 의사 결정 과정의 기초가 됩니다. 아래에서는 각 연산자의 사용법과 예상 결과를 이해하는 데 도움이 되는 간결한 예제를 제공합니다.

Arithmetic#

이름

상징

연산자

예

덧셈

+

a + b

5 + 3 # 8

분할

/

a / b

10 / 4 # 2.5 (always returns a float)

지수

**

a ** b

2 ** 3 # 8

층별 구분

//

a // b

10 // 4 # 2 (always returns an integer)

모듈로

%

a % b

10 % 4 # 2

곱셈

*

a * b

5 * 3 # 15

부정

-

- a

- 5 # -5

빼기

-

a - b

10 - 3 # 7

Augmented Arithmetic#

이름

상징

연산자

예

덧셈

+=

a += b

a = 5
b = 3
a += b # a = 8

분할

/=

a /= b

a = 10
b = 4
a /= b # a = 2.5

지수

**=

a **= b

a = 2
b = 3
a **= b # a = 8

층별 구분

//=

a //= b

a = 10
b = 4
a //= b # a = 2

계수

%=

a %= b

a = 10
b = 3
a %= b # a = 1

곱셈

*=

a *= b

a = 2
b = 3
a *= b # a = 6

빼기

-=

a -= b

a = 10
b = 4
a -= b # a = 6

Comparison#

이름

상징

연산자

예

평등

==

a == b

5 == 5 # True

불평등

!=

a != b

5 != 10 # True

보다 큰

>{code}

a > b

10 > 5 # True

크거나 같음

>=

a >= b

10 >= 5 # True

미만

<

a < b

5 < 10 # True

이하 또는 같음

<=

a <= b

5 <= 5 # True

연쇄 비교

varies

a < b < c

1 < 2 < 3 # True (1 < 2) and (2 < 3)

Logical#

이름

상징

예

거짓

False

특정 값들은 다음과 같이 정의됩니다: False

  • None
  • False
  • 모든 유형의 숫자 ​​0: 0, 0.0, 0j
  • 빈 시퀀스 및 컬렉션: ‘’ (빈 문자열), [] (빈 리스트), () (빈 튜플), {} (빈 딕셔너리), set()등

진실

True

명시적으로 False 아닌 모든 객체는 True으로 간주됩니다. 예를 들어, 비어 있지 않은 문자열, 0이 아닌 숫자, 비어 있지 않은 목록, 심지어 사용자 정의 객체(진리 값 메서드를 재정의하여 False을 반환하지 않는 한)도 True 으로 처리됩니다.


이름

상징

연산자

예

신원

is

a is b

[1] is [1] # False

정체성이 아님

is not

a is not b

5 is not 10 # True

논리적 AND

and

a and b

True and False # False

논리적 부정

not

not a

not False # True

논리적 OR

or

a or b

False or True # True

조건식

if else

x if condition else y

“Yes” if 5 > 3 else “No” # “Yes”

Sequences (Lists, Tuples, Strings)#

이름

상징

연산자

예

연쇄

+

seq1 + seq2

[1, 2] + [3, 4] # [1, 2, 3, 4]

슬라이스 할당

seq[i:j] = values

lst = [1, 2, 3, 4]
lst[1:3] = [20, 30] # lst = [1, 20, 30, 4]

슬라이스 삭제

del seq[i:j]

lst = [1, 2, 3, 4]
del lst[1:3] # lst = [1, 4]

슬라이싱

seq[i:j]

lst = [1, 2, 3, 4]
lst[1:3] # [2, 3]

Dictionaries (Mappings)#

이름

상징

연산자

예

색인화된 할당

obj[k] = v

d = {}
d[‘a’] = 1 # d = {‘a’: 1}

인덱스 삭제

del obj[k]

d = {‘a’: 1}
del d[‘a’] # d = {}

인덱싱

obj[k]

d = {‘a’: 1}
d[‘a’] # 1

String Formatting#

이름

상징

연산자

예

문자열 서식 지정

%

s % obj

str = “Hello, %(name)s” % {“name”: “Alice”} # str = ‘Hello, Alice’

Membership#

이름

상징

연산자

예

격리 시험

in

obj in seq

‘a’ in ‘cat’ # True

회원 자격 거부 (가입하지 않음)

not in

a not in b

‘x’ not in ‘hello’ # True

Bitwise#

이름

상징

연산자

예

비트 단위 및

&

a & b

6 & 3 # 2 (0b110 & 0b011 = 0b010)

비트 단위 배타적 논리합(XOR)

^

a ^ b

6 ^ 3 # 5 (0b110 ^ 0b011 = 0b101)

비트 단위 반전(NOT)

~

~ a

~5 # -6 (~0b101 yields -6 in two’s complement)

비트 단위 OR

|

a | b

6 | 3 # 7 (0b110 | 0b011 = 0b111)

좌측 이동

<<

a << b

2 << 3 # 16 (0b10 << 3 becomes 0b10000)

오른쪽 변속

>>{code}

a >> b

16 >> 2 # 4 (0b10000 >> 2 becomes 0b100)

Augmented Bitwise#

이름

상징

연산자

예

증강 비트 단위 AND

&=

a &= b

a = 6
b = 3
a &= b # a = 2 (0b110 & 0b011 = 0b010)

증강 비트 단위 XOR(배타적 논리합)

^=

a ^= b

a = 6
b = 3
a ^= b # a = 5 (0b110 ^ 0b011 = 0b101)

증강 비트 OR

|=

a |= b

a = 6
b = 3
a |= b # a = 7 (0b110 | 0b011 = 0b111)

증강 좌측 이동

<<=

a <<= b

a = 5
b = 2
a <<= b # a = 20 (5 << 2 equals 5 * 2²)

증강 우측 이동

>>=

a >>= b

a = 20
b = 2
a >>= b # a = 5 (20 >> 2 equals 20 // 2²)