Operator di Python

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 + 25
- Pengurangan 3 - 21
* Perkalian 3 * 26
/ Pembagian (selalu menghasilkan float) 3 / 21.5
// Pembagian bulat ke bawah 3 // 21
% Sisa bagi (modulo) 3 % 21
** Pemangkatan 3 ** 29
 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 += 2x = x + 2
-= Kurangi dan tugaskan x -= 2x = x - 2
*= Kalikan dan tugaskan x *= 2x = x * 2
/= Bagi dan tugaskan x /= 2x = x / 2
//= Pembagian bulat ke bawah x //= 2x = x // 2
%= Tugaskan sisa bagi x %= 2x = x % 2
**= Tugaskan pemangkatan x **= 2x = x ** 2
&= Menetapkan dengan menggunakan AND x &= 0b1010x = x & 0b1010
|= Menetapkan dengan menggunakan OR x | = 0b0011x = x | 0b0011
^= Menetapkan dengan menggunakan XOR x ^= 0b0101x = x ^ 0b0101
<<= Menetapkan setelah pergeseran ke kiri x <<= 2x = x << 2
>>= Menetapkan setelah pergeseran ke kanan x >>= 1x = 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 == 3True
!= Tidak sama dengan 3 != 4True
> 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 atau False 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 FalseFalse
or Mengembalikan True jika salah satu benar True or FalseTrue
not Membalikkan nilai boolean not TrueFalse
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 mengembalikan True hanya jika kedua kondisi di kiri dan kanan bernilai True.
  • or adalah operator logika yang mengembalikan True jika salah satu kondisi kiri atau kanan bernilai True.
  • 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 & 31
| Bitwise OR 5 | 37
^ Bitwise exclusive OR (XOR) 5 ^ 36
~ Bitwise NOT ~5-6
<< Perpindahan bit ke kiri (Left shift) 5 << 110
>> Perpindahan bit ke kanan (Right shift) 5 >> 12
 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 dari x == 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, sedangkan type() 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.

YouTube Video