# Operators¶

Operators are used to perform operations on variables and values.

## Arithmetic Operators¶

You can use arithmetic operators to do some common mathematical operations.

Operator

Name

+

-

Subtraction

*

Multiplication

/

Division

%

Modulus

**

Exponentiation

//

Floor division

```x = 5
y = 3

a = x + y
b = x - y
c = x * y
d = x / y
e = x % y
f = x ** y
g = x // y

print(a)
print(b)
print(c)
print(d)
print(e)
print(f)
print(g)
```
```>>> %Run -c \$EDITOR_CONTENT
8
2
15
1.666667
2
125
1
8
2
15
>>>
```

## Assignment operators¶

Assignment operators can used to assign values to variables.

Operator

Example

Same As

=

a = 6

a =6

+=

a += 6

a = a + 6

-=

a -= 6

a = a - 6

*=

a *= 6

a = a * 6

/=

a /= 6

a = a / 6

%=

a %= 6

a = a % 6

**=

a **= 6

a = a ** 6

//=

a //= 6

a = a // 6

&=

a &= 6

a = a & 6

|=

a |= 6

a = a | 6

^=

a ^= 6

a = a ^ 6

>>=

a >>= 6

a = a >> 6

<<=

a <<= 6

a = a << 6

```a = 6

a *= 6
print(a)
```
```>>> %Run test.py
36
>>>
```

## Comparison Operators¶

Comparison operators are used to compare two values.

Operator

Name

==

Equal

!=

Not equal

<

Less than

>

Greater than

>=

Greater than or equal to

<=

Less than or equal to

```a = 6
b = 8

print(a>b)
```
```>>> %Run test.py
False
>>>
```

Return False, beause the a is less than the b.

## Logical Operators¶

Logical operators are used to combine conditional statements.

Operator

Description

and

Returns True if both statements are true

or

Returns True if one of the statements is true

not

Reverse the result, returns False if the result is true

```a = 6
print(a > 2 and a < 8)
```
```>>> %Run -c \$EDITOR_CONTENT
True
>>>
```

## Identity Operators¶

Identity operators are used to compare the objects, not if they are equal, but if they are actually the same object, with the same memory location.

Operator

Description

is

Returns True if both variables are the same object

is not

Returns True if both variables are not the same object

```a = ["hello", "welcome"]
b = ["hello", "welcome"]
c = a

print(a is c)
# returns True because z is the same object as x

print(a is b)
# returns False because x is not the same object as y, even if they have the same content

print(a == b)
# returns True because x is equal to y
```
```>>> %Run -c \$EDITOR_CONTENT
True
False
True
>>>
```

## Membership Operators¶

Membership operators are used to test if a sequence is presented in an object.

Operator

Description

in

Returns True if a sequence with the specified value is present in the object

not in

Returns True if a sequence with the specified value is not present in the object

```a = ["hello", "welcome", "Goodmorning"]

print("welcome" in a)
```
```>>> %Run -c \$EDITOR_CONTENT
True
>>>
```

## Bitwise Operators¶

Bitwise operators are used to compare (binary) numbers.

Operator

Name

Description

&

AND

Sets each bit to 1 if both bits are 1

OR

Sets each bit to 1 if one of two bits is 1

^

XOR

Sets each bit to 1 if only one of two bits is 1

~

NOT

Inverts all the bits

<<

Zero fill left shift

Shift left by pushing zeros in from the right and let the leftmost bits fall off

>>

Signed right shift

Shift right by pushing copies of the leftmost bit in from the left, and let the rightmost bits fall off

```num = 2

print(num & 1)
print(num | 1)
print(num << 1)
```
```>>> %Run -c \$EDITOR_CONTENT
0
3
4
>>>
```