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 + 2 → 5 |
- |
Penolakan | 3 - 2 → 1 |
* |
Pendaraban | 3 * 2 → 6 |
/ |
Pembahagian (sentiasa perpuluhan) | 3 / 2 → 1.5 |
// |
Pembahagian bulat ke bawah | 3 // 2 → 1 |
% |
Baki (modulo) | 3 % 2 → 1 |
** |
Pangkatan | 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 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 += 2 → x = x + 2 |
-= |
Tolak dan peruntukkan | x -= 2 → x = x - 2 |
*= |
Darab dan peruntukkan | x *= 2 → x = x * 2 |
/= |
Bahagi dan peruntukkan | x /= 2 → x = x / 2 |
//= |
Pembahagian bulat ke bawah | x //= 2 → x = x // 2 |
%= |
Peruntukkan baki | x %= 2 → x = x % 2 |
**= |
Peruntukkan hasil pangkat | x **= 2 → x = x ** 2 |
&= |
Tetapkan menggunakan AND | x &= 0b1010 → x = x & 0b1010 |
|= |
Tetapkan menggunakan OR | x | = 0b0011 →x = x | 0b0011 |
^= |
Tetapkan menggunakan XOR | x ^= 0b0101 → x = x ^ 0b0101 |
<<= |
Tetapkan selepas anjakan kiri | x <<= 2 → x = x << 2 |
>>= |
Tetapkan selepas anjakan kanan | x >>= 1 → x = 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 == 3 → True |
!= |
Tidak sama dengan | 3 != 4 → True |
> |
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
atauFalse
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 False → False |
or |
Kembali True jika salah satu True | True or False → True |
not |
Songsangkan 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
ialah operator logik yang menghasilkanTrue
hanya jika kedua-dua syarat di kiri dan kanan adalahTrue
.or
ialah operator logik yang menghasilkanTrue
jika sama ada syarat kiri atau kanan adalahTrue
.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 & 3 → 1 |
| |
OR bitwise | 5 | 3 →7 |
^ |
Eksklusif OR bitwise (XOR) | 5 ^ 3 → 6 |
~ |
NOT bitwise | ~5 → -6 |
<< |
Anjakan ke kiri | 5 << 1 → 10 |
>> |
Anjakan ke kanan | 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 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 daripadax == 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, manakalatype()
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.