Operator dalam Python

Operator dalam Python

Artikel ini menerangkan tentang operator dalam Python.

YouTube Video

Operator dalam Python

Python mempunyai pelbagai operator, yang secara umum boleh dikategorikan seperti berikut. Kami akan menerangkan operator utama untuk setiap kategori.

Operator Aritmetik

Operator aritmetik adalah operator yang digunakan untuk melakukan pengiraan pada nombor.

Operator Maksud Contoh
+ Penambahan 3 + 25
- Penolakan 3 - 21
* Pendaraban 3 * 26
/ Pembahagian (sentiasa perpuluhan) 3 / 21.5
// Pembahagian bulat ke bawah 3 // 21
% Baki (modulo) 3 % 21
** Pangkatan 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 daripada empat operasi aritmetik asas, Python menyediakan operator untuk pembahagian (/), pembahagian bulat (//), modulus (%), dan pemangkatan (**). Pembahagian akan menghasilkan nombor titik terapung walaupun membahagi integer.

Operator Tugasan

Operator peruntukan digunakan untuk memberikan nilai kepada pembolehubah.

Operator Maksud Contoh
= Peruntukan x = 5
+= Tambah dan peruntukkan x += 2x = x + 2
-= Tolak dan peruntukkan x -= 2x = x - 2
*= Darab dan peruntukkan x *= 2x = x * 2
/= Bahagi dan peruntukkan x /= 2x = x / 2
//= Pembahagian bulat ke bawah x //= 2x = x // 2
%= Peruntukkan baki x %= 2x = x % 2
**= Peruntukkan hasil pangkat x **= 2x = x ** 2
&= Tetapkan menggunakan AND x &= 0b1010x = x & 0b1010
|= Tetapkan menggunakan OR x | = 0b0011x = x | 0b0011
^= Tetapkan menggunakan XOR x ^= 0b0101x = x ^ 0b0101
<<= Tetapkan selepas anjakan kiri x <<= 2x = x << 2
>>= Tetapkan selepas anjakan kanan x >>= 1x = x >> 1
:= Ungkapan penetapan (operator walrus) if (n := len(data)) > 10:Tetapkan kepada n sambil menilai syarat
 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 penetapan membolehkan penggabungan penetapan standard dengan pelbagai operator untuk menetapkan hasil.
  • Operator walrus (:=) ialah ungkapan penetapan yang tersedia dalam Python 3.8 dan ke atas.
  • Walaupun penetapan standard hanya boleh digunakan sebagai satu penyataan, operator walrus membenarkan penetapan dalam ungkapan.

Operator Perbandingan

Operator perbandingan membandingkan nilai-nilai dan mengembalikan True atau False.

Operator Maksud Contoh
== Sama dengan 3 == 3True
!= Tidak sama dengan 3 != 4True
> Lebih besar daripada 5 > 2
< Kurang daripada 5 < 2
>= Lebih besar atau sama dengan 5 >= 5
<= Kurang 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 susunan atau kesamaan dan menghasilkan True atau False sebagai hasilnya.
  • Dalam Python, anda harus berhati-hati apabila membandingkan jenis data yang berbeza. Sesetengah jenis boleh dibandingkan antara satu sama lain, tetapi hasilnya mungkin tidak intuitif.

Operator Logik

Operator logik digunakan untuk menggabungkan ekspresi logik.

Operator Maksud Contoh
and Kembali True jika kedua-duanya True True and FalseFalse
or Kembali True jika salah satu True True or FalseTrue
not Songsangkan 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 ialah operator logik yang menghasilkan True hanya jika kedua-dua syarat di kiri dan kanan adalah True.
  • or ialah operator logik yang menghasilkan True jika sama ada syarat kiri atau kanan adalah True.
  • not ialah operator logik yang membalikkan nilai kebenaran sesuatu syarat. Jika ia Benar (True), ia menjadi Salah (False), dan jika ia Salah (False), ia menjadi Benar (True).

Keutamaan operator logik

Operator mempunyai keutamaan. Ini ialah peraturan yang menentukan operator mana yang akan dinilai dahulu dalam suatu ekspresi. Operator logik dinilai mengikut turutan: not, and, kemudian or.

1result = True or False and False
2print(result)  # True
3
4result = (True or False) and False
5print(result)  # False

たとえば、

Dalam contoh pertama, and dinilai dahulu, jadi False and False menjadi False, dan hasilnya, True or False menjadi True. Anda juga boleh mengubah urutan penilaian dengan menggunakan tanda kurungan, seperti yang ditunjukkan dalam contoh kedua.

Operator Bit

Operator bitwise melakukan operasi pada tahap bit.

Operator Maksud Contoh
& AND bitwise 5 & 31
| OR bitwise 5 | 37
^ Eksklusif OR bitwise (XOR) 5 ^ 36
~ NOT bitwise ~5-6
<< Anjakan ke kiri 5 << 110
>> Anjakan ke kanan 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 boleh melakukan operasi bitwise AND, OR, XOR, NOT, serta operasi anjakan bit. Anda juga boleh menggabungkannya dengan operator penetapan seperti &=.

Operator Keahlian

Operator keahlian digunakan dengan koleksi seperti senarai dan kamus.

 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
  • Operator in digunakan untuk menentukan sama ada nilai tertentu terkandung dalam satu jujukan seperti senarai atau rentetan, atau koleksi seperti kamus.
  • Operator not in digunakan untuk menentukan sama ada nilai tertentu tidak terkandung dalam satu jujukan atau koleksi.

Operator Identiti

Operator identiti memeriksa identiti 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 sama ada dua objek adalah objek yang sama (iaitu, merujuk kepada lokasi memori yang sama).
  • Operator is not memeriksa sama ada dua objek adalah objek yang berbeza.
  • Sebagai contoh, x is y berbeza daripada x == y kerana ia memeriksa identiti objek, bukan kesamaan nilai.

Pemeriksaan Jenis

Dalam Python, anda menggunakan fungsi isinstance() untuk memeriksa sama ada nilai adalah daripada jenis yang tertentu. Anda juga boleh menggunakan fungsi type() untuk memeriksa jenis sebenar sesuatu pemboleh ubah. Walaupun ini bukanlah operator, ia adalah mekanisme asas untuk pemeriksaan jenis.

 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() ialah fungsi yang memeriksa sama ada sesuatu objek adalah contoh kelas tertentu atau subkelasnya.
  • type() ialah fungsi yang mengembalikan jenis (kelas) sebenar bagi sesuatu objek. Ia biasanya digunakan apabila anda ingin melakukan perbandingan jenis yang ketat.
  • isinstance() mengambil kira hubungan pewarisan, manakala type() memeriksa padanan yang tepat.

Ringkasan

Apabila menggunakan setiap operator, anda perlu memilih dengan sesuai berdasarkan tujuannya dan jenisnya. Oleh kerana Python adalah bahasa jenis dinamik, hasil sesuatu operasi mungkin berbeza bergantung pada jenis nilai yang dikira.

Anda boleh mengikuti artikel di atas menggunakan Visual Studio Code di saluran YouTube kami. Sila lihat juga saluran YouTube kami.

YouTube Video