# # Operators

## # Comparison Operators

Operator | Description |
---|---|

`==` | `true` if the two values are equal. |

`!=` | `true` if the two values are not equal. |

`<` | `true` if the value of the operand on the left is less than the value on the right. |

`>` | `true` if the value of the operand on the left is greater than the value on the right. |

`>=` | `true` if the value of the operand on the left is greater than or equal to the value on the right. |

`<=` | `true` if the value of the operand on the left is less than or equal to the value on the right. |

`<=>` | `0` if the value of the operand on the left is equal to the value on the right,`1` if the value of the operand on the left is greater than the value on the right,`-1` if the value of the operand on the left is less than the value on the right. |

## # Assignment Operators

### # Simple Assignment

`=`

is a simple assignment. It creates a new local variable if the variable was not previously referenced.

```
x is 3, y is 9
```

### # Parallel Assignment

Variables can also be assigned in parallel, e.g. `x, y = 3, 9`

. This is especially useful for swapping values:

```
x is 9, y is 3
```

### # Abbreviated Assignment

It's possible to mix operators and assignment. For example:

```
x is 1, y is 2
x is now 3
```

Various operations can be used in abbreviated assignment:

Operator | Description | Example | Equivalent to |
---|---|---|---|

`+=` | Adds and reassigns the variable | `x += y` | `x = x + y` |

`-=` | Subtracts and reassigns the variable | `x -= y` | `x = x - y` |

`*=` | Multiplies and reassigns the variable | `x *= y` | `x = x * y` |

`/=` | Divides and reassigns the variable | `x /= y` | `x = x / y` |

`%=` | Divides, takes the remainder, and reassigns the variable | `x %= y` | `x = x % y` |

`**=` | Calculates the exponent and reassigns the variable | `x **= y` | `x = x ** y` |