I denne vejledning lærer du alt om forskellige typer operatører i Python, deres syntaks og hvordan man bruger dem med eksempler.
Video: Operatører i Python
Hvad er operatører i python?
Operatører er specielle symboler i Python, der udfører aritmetisk eller logisk beregning. Den værdi, som operatøren opererer på, kaldes operanden.
For eksempel:
>>> 2+3 5
Her +
er operatøren, der udfører tilføjelse. 2
og 3
er operanderne og 5
er output af operationen.
Aritmetiske operatorer
Aritmetiske operatorer bruges til at udføre matematiske operationer som addition, subtraktion, multiplikation osv.
Operatør | Betyder | Eksempel |
---|---|---|
+ | Tilføj to operander eller unary plus | x + y + 2 |
- | Træk højre operand fra venstre eller unary minus | x - y- 2 |
* | Multiplicer to operander | x * y |
/ | Del venstre operand med den rigtige (resulterer altid i float) | x / y |
% | Modulus - resten af delingen af venstre operand af højre | x% y (resten af x / y) |
// | Floor division - opdeling, der resulterer i heltal justeret til venstre i nummerlinjen | x // y |
** | Eksponent - venstre operand hævet til højre for magten | x ** y (x til magten y) |
Eksempel 1: Aritmetiske operatorer i Python
x = 15 y = 4 # Output: x + y = 19 print('x + y =',x+y) # Output: x - y = 11 print('x - y =',x-y) # Output: x * y = 60 print('x * y =',x*y) # Output: x / y = 3.75 print('x / y =',x/y) # Output: x // y = 3 print('x // y =',x//y) # Output: x ** y = 50625 print('x ** y =',x**y)
Produktion
x + y = 19 x - y = 11 x * y = 60 x / y = 3,75 x // y = 3 x ** y = 50625
Sammenligningsoperatører
Sammenligningsoperatører bruges til at sammenligne værdier. Det returnerer enten True
eller i False
henhold til betingelsen.
Operatør | Betyder | Eksempel |
---|---|---|
> | Større end - Sandt, hvis venstre operand er større end højre | x> y |
< | Mindre end - Sandt, hvis venstre operand er mindre end højre | x <y |
== | Lige med - Sandt, hvis begge operander er ens | x == y |
! = | Ikke lig med - Sandt, hvis operander ikke er ens | x! = y |
> = | Større end eller lig med - Sandt, hvis venstre operand er større end eller lig med højre | x> = y |
<= | Mindre end eller lig med - Sandt, hvis venstre operand er mindre end eller lig med højre | x <= y |
Eksempel 2: Sammenligningsoperatorer i Python
x = 10 y = 12 # Output: x> y is False print('x> y is',x>y) # Output: x < y is True print('x < y is',x= y is False print('x>= y is',x>=y) # Output: x <= y is True print('x <= y is',x<=y)
Produktion
x> y er falsk x = y er falsk x <= y er sand
Logiske operatører
Logiske operatorer er de and
, or
, not
operatører.
Operatør | Betyder | Eksempel |
---|---|---|
og | Sandt, hvis begge operanderne er sande | x og y |
eller | Sandt, hvis en af operanderne er sandt | x eller y |
ikke | Sandt, hvis operand er falsk (supplerer operanden) | ikke x |
Eksempel 3: Logiske operatører i Python
x = True y = False print('x and y is',x and y) print('x or y is',x or y) print('not x is',not x)
Produktion
x og y er falsk x eller y er sand ikke x er falsk
Her er sandhedstabellen for disse operatører.
Bitvise operatører
Bitvis operatører handler på operander som om de var strenge af binære cifre. De fungerer lidt efter lidt, deraf navnet.
For eksempel er 2 10
i binær og 7 er 111
.
I nedenstående tabel: Lad x = 10 ( 0000 1010
i binær) og y = 4 ( 0000 0100
i binær)
Operatør | Betyder | Eksempel |
---|---|---|
& | Bitvis OG | x & y = 0 ( 0000 0000 ) |
| | Bitvis ELLER | x | y = 14 ( 0000 1110 ) |
~ | Bitvis IKKE | ~ x = -11 ( 1111 0101 ) |
^ | Bitvis XOR | x y = 14 ( 0000 1110 ) |
>> | Bitvis højre skift | x >> 2 = 2 ( 0000 0010 ) |
<< | Bitvis venstre skift | x << 2 = 40 (0010 1000 ) |
Assignment operators
Assignment operators are used in Python to assign values to variables.
a = 5
is a simple assignment operator that assigns the value 5 on the right to the variable a on the left.
There are various compound operators in Python like a += 5
that adds to the variable and later assigns the same. It is equivalent to a = a + 5
.
Operator | Example | Equivalent to |
---|---|---|
= | x = 5 | x = 5 |
+= | x += 5 | x = x + 5 |
-= | x -= 5 | x = x - 5 |
*= | x *= 5 | x = x * 5 |
/= | x /= 5 | x = x / 5 |
%= | x %= 5 | x = x % 5 |
//= | x //= 5 | x = x // 5 |
**= | x **= 5 | x = x ** 5 |
&= | x &= 5 | x = x & 5 |
|= | x |= 5 | x = x | 5 |
^= | x ^= 5 | x = x 5 |
>>= | x>>= 5 | x = x>> 5 |
<<= | x <<= 5 | x = x << 5 |
Special operators
Python language offers some special types of operators like the identity operator or the membership operator. They are described below with examples.
Identity operators
is
and is not
are the identity operators in Python. They are used to check if two values (or variables) are located on the same part of the memory. Two variables that are equal does not imply that they are identical.
Operator | Meaning | Example |
---|---|---|
is | True if the operands are identical (refer to the same object) | x is True |
is not | True if the operands are not identical (do not refer to the same object) | x is not True |
Example 4: Identity operators in Python
x1 = 5 y1 = 5 x2 = 'Hello' y2 = 'Hello' x3 = (1,2,3) y3 = (1,2,3) # Output: False print(x1 is not y1) # Output: True print(x2 is y2) # Output: False print(x3 is y3)
Output
False True False
Here, we see that x1 and y1 are integers of the same values, so they are equal as well as identical. Same is the case with x2 and y2 (strings).
But x3 and y3 are lists. They are equal but not identical. It is because the interpreter locates them separately in memory although they are equal.
Membership operators
in
og not in
er medlemsoperatører i Python. De bruges til at teste, om der findes en værdi eller variabel i en sekvens (streng, liste, tuple, sæt og ordbog).
I en ordbog kan vi kun teste for tilstedeværelse af nøgle, ikke værdien.
Operatør | Betyder | Eksempel |
---|---|---|
i | Sandt, hvis værdi / variabel findes i sekvensen | 5 i x |
ikke i | Sandt, hvis værdi / variabel ikke findes i sekvensen | 5 ikke i x |
Eksempel 5: Medlemskabsoperatører i Python
x = 'Hello world' y = (1:'a',2:'b') # Output: True print('H' in x) # Output: True print('hello' not in x) # Output: True print(1 in y) # Output: False print('a' in y)
Produktion
Sandt sandt sandt falsk
Her 'H'
er i x, men 'hello'
er ikke til stede i x (husk, Python er store og små bogstaver). Ligeledes 1
er nøglen og 'a'
er værdien i ordbogen y. Derfor 'a' in y
vender tilbage False
.