Python - 'and'와 '&'의 차이점

Python에서 and는 논리 AND 연산자입니다. 두개의 조건식이 모두 True일 때, True를 리턴합니다.

&는 비트 연산자이며, 두개의 이진수에서 동일한 위치의 bit가 1인 것들만 1로 계산합니다.

예제를 통해 자세히 알아보겠습니다.

1. and : 논리 AND 연산자 (Boolean)

아래 코드에서 if에는 두개의 조건이 and로 묶여 있습니다. 두 조건 모두 True이면 True가 리턴되고, 둘 중에 하나라도 False면 False가 리턴됩니다.

a = 10

if a > 0 and (a % 2) == 0:
    print("a is even")

Output:

a is even

1.1 Example

아래 예제에서는 (a % 2) == 1:가 False이기 때문에 else:의 코드가 수행됩니다.

a = 10

if a > 0 and (a % 2) == 1:
    print("a is odd")
else:
    print("a is even")

Output:

a is even

2. & : 비트 연산자 (Bitwise)

다음 예제는 7과 2를 &로 비트 연산합니다. 비트 연산 후, 2로 계산되는 과정은 주석으로 자세히 설명하였습니다.

result = 7 & 2

print(result)

#         7 = 0000 0111
#      &  2 = 0000 0010
#-----------------------
# result, 2 = 0000 0010  

Output:

2

2.1 Example

두번째 예제는 9와 3을 &로 비트 연산합니다. 비트 연산 후, 1로 계산되는 과정은 주석으로 자세히 설명하였습니다.

result = 9 & 3

print(result)

#         9 = 0000 1001
#      &  2 = 0000 0011
#-----------------------
# result, 1 = 0000 0001  

Output:

1

References

Loading script...

Related Posts

codechachaCopyright ©2019 codechacha