Operator di Python
Artikel ini menjelaskan tentang operator di Python.
YouTube Video
Operator di Python
Python memiliki berbagai operator, yang dapat dikategorikan secara umum sebagai berikut. Kami akan menjelaskan operator yang mewakili setiap kategori.
Operator Aritmatika
Operator aritmatika adalah operator yang digunakan untuk melakukan perhitungan pada angka.
Operator | Arti | Contoh |
---|---|---|
+ |
Penjumlahan | 3 + 2 → 5 |
- |
Pengurangan | 3 - 2 → 1 |
* |
Perkalian | 3 * 2 → 6 |
/ |
Pembagian (selalu menghasilkan float) | 3 / 2 → 1.5 |
// |
Pembagian bulat ke bawah | 3 // 2 → 1 |
% |
Sisa bagi (modulo) | 3 % 2 → 1 |
** |
Pemangkatan | 3 ** 2 → 9 |
1a = 10
2b = 3
3
4print(f"{a} + {b} = {a + b}") # Addition
5print(f"{a} - {b} = {a - b}") # Subtraction
6print(f"{a} * {b} = {a * b}") # Multiplication
7print(f"{a} / {b} = {a / b}") # Division (float)
8print(f"6 / 3 = {6 / 3}") # Division (float)
9print(f"{a} // {b} = {a // b}") # Floor Division
10print(f"{a} % {b} = {a % b}") # Modulo (remainder)
11print(f"{a} ** {b} = {a ** b}") # Exponentiation
- Selain empat operasi aritmatika dasar, Python menyediakan operator untuk pembagian (
/
), pembagian bilangan bulat (//
), modulus (%
), dan perpangkatan (**
). Pembagian mengembalikan angka bertipe floating-point bahkan ketika membagi bilangan bulat.
Operator Penugasan
Operator penugasan digunakan untuk memberikan nilai ke variabel.
Operator | Arti | Contoh |
---|---|---|
= |
Penugasan | x = 5 |
+= |
Tambah dan tugaskan | x += 2 → x = x + 2 |
-= |
Kurangi dan tugaskan | x -= 2 → x = x - 2 |
*= |
Kalikan dan tugaskan | x *= 2 → x = x * 2 |
/= |
Bagi dan tugaskan | x /= 2 → x = x / 2 |
//= |
Pembagian bulat ke bawah | x //= 2 → x = x // 2 |
%= |
Tugaskan sisa bagi | x %= 2 → x = x % 2 |
**= |
Tugaskan pemangkatan | x **= 2 → x = x ** 2 |
&= |
Menetapkan dengan menggunakan AND | x &= 0b1010 → x = x & 0b1010 |
|= |
Menetapkan dengan menggunakan OR | x | = 0b0011 →x = x | 0b0011 |
^= |
Menetapkan dengan menggunakan XOR | x ^= 0b0101 → x = x ^ 0b0101 |
<<= |
Menetapkan setelah pergeseran ke kiri | x <<= 2 → x = x << 2 |
>>= |
Menetapkan setelah pergeseran ke kanan | x >>= 1 → x = x >> 1 |
:= |
Ekspresi penugasan (operator walrus) | if (n := len(data)) > 10: → Menetapkan ke n saat mengevaluasi kondisi |
1x = 5 # x = 5
2
3x += 3 # x = x + 3
4x -= 2 # x = x - 2
5x *= 4 # x = x * 4
6x /= 3 # x = x / 3
7x //= 2 # x = x // 2
8x %= 5 # x = x % 5
9x **= 3 # x = x ** 3
10
11x = 0b1100 # x = 0b1100 (12)
12
13x &= 0b1010 # x = x & 0b1010
14x |= 0b0011 # x = x | 0b0011
15x ^= 0b0101 # x = x ^ 0b0101
16x <<= 2 # x = x << 2
17x >>= 1 # x = x >> 1
18
19print(bin(x)) # Display in binary
20print(x) # Display in decimal
21
22# Walrus operator
23if (n := len("hello")) > 3:
24 print(f"Length is {n}")
- Operator penugasan memungkinkan penggabungan penugasan standar dengan berbagai operator untuk menetapkan hasilnya.
- Operator walrus (
:=
) adalah ekspresi penugasan yang tersedia di Python 3.8 dan yang lebih baru. - Sementara penugasan standar hanya dapat digunakan sebagai pernyataan, operator walrus memungkinkan penugasan di dalam ekspresi.
Operator Perbandingan
Operator perbandingan membandingkan nilai dan mengembalikan True
atau False
.
Operator | Arti | Contoh |
---|---|---|
== |
Sama dengan | 3 == 3 → True |
!= |
Tidak sama dengan | 3 != 4 → True |
> |
Lebih besar dari | 5 > 2 |
< |
Lebih kecil dari | 5 < 2 |
>= |
Lebih besar atau sama dengan | 5 >= 5 |
<= |
Lebih kecil atau sama dengan | 3 <= 4 |
1a = 10
2b = 20
3
4# Equal to (==)
5print(f"{a} == {b} -> {a == b}") # False: a and b are not equal
6print(f"3 == 3.0 -> {3 == 3.0}") # True: int and float with the same value are equal
7print(f"3 == '3' -> {3 == '3'}") # False: different types (int vs str)
8print(f"True == 1 -> {True == 1}") # True: True is equivalent to 1
9print(f"False == 0 -> {False == 0}") # True: False is equivalent to 0
10print(f"None == 0 -> {None == 0}") # False: None is not equal to 0
11
12# Not equal to (!=)
13print(f"{a} != {b} -> {a != b}") # True: a and b are not equal
14
15# Greater than (>)
16print(f"{b} > {a} -> {b > a}") # True: 20 > 10
17
18# Less than (<)
19print(f"{a} < {b} -> {a < b}") # True: 10 < 20
20
21# Greater than or equal to (>=)
22print(f"{a} >= 10 -> {a >= 10}") # True: a is greater than or equal to 10
23
24# Less than or equal to (<=)
25print(f"{a} <= 10 -> {a <= 10}") # True: a is less than or equal to 10
- Operator perbandingan membandingkan dua nilai untuk urutan atau kesetaraan dan mengembalikan
True
atauFalse
sebagai hasilnya. - Di Python, Anda harus berhati-hati saat membandingkan tipe data yang berbeda. Beberapa tipe dapat dibandingkan satu sama lain, tetapi hasilnya mungkin tidak intuitif.
Operator Logika
Operator logika digunakan untuk menggabungkan ekspresi logika.
Operator | Arti | Contoh |
---|---|---|
and |
Mengembalikan True jika keduanya benar | True and False → False |
or |
Mengembalikan True jika salah satu benar | True or False → True |
not |
Membalikkan nilai boolean | not True → False |
1x = 10
2print(x > 5 and x < 20) # True
3print(x < 5 or x > 20) # False
4print(not x == 10) # False
and
adalah operator logika yang mengembalikanTrue
hanya jika kedua kondisi di kiri dan kanan bernilaiTrue
.or
adalah operator logika yang mengembalikanTrue
jika salah satu kondisi kiri atau kanan bernilaiTrue
.not
adalah operator logika yang membalikkan nilai kebenaran dari suatu kondisi. Jika nilainya True, menjadi False, dan jika False, menjadi True.
Prioritas operator logika
Operator memiliki urutan prioritas. Ini adalah aturan yang menentukan operator mana yang dievaluasi terlebih dahulu dalam sebuah ekspresi. Operator logika dievaluasi dengan urutan: not
, kemudian and
, lalu or
.
1result = True or False and False
2print(result) # True
3
4result = (True or False) and False
5print(result) # False
たとえば、
Pada contoh pertama, and
dievaluasi terlebih dahulu, sehingga False and False
menjadi False
, dan akibatnya, True or False
menjadi True
. Anda juga dapat mengubah urutan evaluasi dengan menggunakan tanda kurung, seperti yang ditunjukkan pada contoh kedua.
Operator Bitwise
Operator bitwise melakukan operasi pada level bit.
Operator | Arti | Contoh |
---|---|---|
& |
Bitwise AND | 5 & 3 → 1 |
| |
Bitwise OR | 5 | 3 →7 |
^ |
Bitwise exclusive OR (XOR) | 5 ^ 3 → 6 |
~ |
Bitwise NOT | ~5 → -6 |
<< |
Perpindahan bit ke kiri (Left shift) | 5 << 1 → 10 |
>> |
Perpindahan bit ke kanan (Right shift) | 5 >> 1 → 2 |
1# Sample code for bitwise operators
2
3# Define two integers
4a = 5 # Binary: 0101
5b = 3 # Binary: 0011
6
7# Bitwise AND
8result_and = a & b # Binary: 0001 -> Decimal: 1
9print(f"{a} & {b} = {result_and}")
10
11# Bitwise OR
12result_or = a | b # Binary: 0111 -> Decimal: 7
13print(f"{a} | {b} = {result_or}")
14
15# Bitwise XOR
16result_xor = a ^ b # Binary: 0110 -> Decimal: 6
17print(f"{a} ^ {b} = {result_xor}")
18
19# Bitwise NOT (inverting bits)
20result_not = ~a # Binary: -(0101 + 1) -> Decimal: -6
21print(f"~{a} = {result_not}")
22
23# Left shift
24shift_left = a << 1 # Binary: 1010 -> Decimal: 10
25print(f"{a} << 1 = {shift_left}")
26
27# Right shift
28shift_right = a >> 1 # Binary: 0010 -> Decimal: 2
29print(f"{a} >> 1 = {shift_right}")
- Anda dapat melakukan operasi bitwise AND, OR, XOR, NOT, serta operasi pergeseran bit. Anda juga dapat menggabungkannya dengan operator penugasan seperti
&=
.
Operator Keanggotaan
Operator keanggotaan digunakan dengan koleksi seperti daftar (list) dan kamus (dictionary).
1x = [1, 2, 3]
2y = 2
3z = 4
4
5print("y in x : ", y in x) # Result is True
6print("z in x : ", z in x) # Result is False
7
8print("y not in x : ", y not in x) # Result is False
9print("z not in x : ", z not in x) # Result is True
10
11text = "hello world"
12print("'world' in 'hello world' : ", "world" in text) # True
13print("'python' not in 'hello world' : ", "python" not in text) # True
in
operator digunakan untuk menentukan apakah sebuah nilai tertentu terkandung dalam sebuah urutan seperti list atau string, atau koleksi seperti dictionary.not in
operator digunakan untuk menentukan apakah sebuah nilai tertentu tidak terkandung dalam sebuah urutan atau koleksi.
Operator Identitas
Operator identitas memeriksa identitas objek.
1x = [1, 2, 3]
2y = x
3z = x.copy()
4
5print("x is y : ", x is y) # Result is True
6print("x is z : ", x is z) # Result is False
7
8print("x is not y : ", x is not y) # Result is False
9print("x is not z : ", x is not z) # Result is True
10
11print("x == y : ", x == y) # Result is True
12print("x == z : ", x == z) # Result is True
- Operator
is
memeriksa apakah dua objek adalah objek yang sama (yaitu, merujuk ke lokasi memori yang sama). - Operator
is not
memeriksa apakah dua objek adalah objek yang berbeda. - Misalnya,
x is y
berbeda darix == y
karena memeriksa identitas objek, bukan kesetaraan nilai.
Pemeriksaan Tipe Data
Di Python, Anda menggunakan fungsi isinstance()
untuk memeriksa apakah suatu nilai bertipe tertentu. Anda juga dapat menggunakan fungsi type()
untuk memeriksa tipe pasti dari suatu variabel. Meskipun ini bukan operator, fungsi-fungsi ini merupakan mekanisme dasar untuk pemeriksaan tipe data.
1x = 10
2print(isinstance(x, int)) # True
3
4y = "hello"
5print(isinstance(y, str)) # True
6
7z = [1, 2, 3]
8print(isinstance(z, list)) # True
9
10print(type(10)) # <class 'int'>
11print(type("hello")) # <class 'str'>
12
13print("isinstance(3, int) : ", isinstance(3, int)) # True
14print("type(3) is int : ", type(3) is int) # True
15print("type(True) is bool : ", type(True) is bool) # True
isinstance()
adalah fungsi yang memeriksa apakah sebuah objek adalah instansi dari kelas tertentu atau subkelasnya.type()
adalah fungsi yang mengembalikan tipe (kelas) pasti dari suatu objek. Biasanya digunakan ketika Anda ingin melakukan perbandingan tipe data yang ketat.isinstance()
mempertimbangkan hubungan pewarisan, sedangkantype()
memeriksa kecocokan secara tepat.
Ringkasan
Saat menggunakan setiap operator, Anda perlu memilih dengan tepat berdasarkan tujuan dan jenisnya. Karena Python adalah bahasa yang diketik secara dinamis, hasil operasi dapat bervariasi tergantung pada jenis nilai yang dihitung.
Anda dapat mengikuti artikel di atas menggunakan Visual Studio Code di saluran YouTube kami. Silakan periksa juga saluran YouTube kami.