Pengendali Python
Apakah pengendali?
Bab ini menerangkan terutamanya pengendali Python. Ambil contoh mudah 4 +5 = 9 . Dalam contoh, 4 dan 5 dipanggil operand dan "+" dipanggil operator.
Bahasa Python menyokong jenis pengendali berikut:
Pengendali aritmetik
Pengendali perbandingan (hubungan)
Pengendali tugasan
Pengendali logik
Pengendali bitwise
Operator ahli
Operator identiti
Keutamaan operator
Seterusnya mari belajar operator Python satu per satu satu.
Pengendali aritmetik Python
Berikut menganggap pembolehubah a ialah 10 dan pembolehubah b ialah 20:
运算符 | 描述 | 实例 |
---|---|---|
+ | 加 - 两个对象相加 | a + b 输出结果 30 |
- | 减 - 得到负数或是一个数减去另一个数 | a - b 输出结果 -10 |
* | 乘 - 两个数相乘或是返回一个被重复若干次的字符串 | a * b 输出结果 200 |
/ | 除 - x除以y | b / a 输出结果 2 |
% | 取模 - 返回除法的余数 | b % a 输出结果 0 |
** | 幂 - 返回x的y次幂 | a**b 为10的20次方, 输出结果 100000000000000000000 |
// | 取整除 - 返回商的整数部分 | 9//2 输出结果 4 , 9.0//2.0 输出结果 4.0 |
Contoh berikut menunjukkan operasi semua operator aritmetik dalam Python:
# -*- pengekodan: UTF-8 -*-
a = 21
b = 10
c = 0
c = a + b
cetak "Nilai 1 - c ialah:", c
c = a - b
cetak "2 - Nilai c ialah: ", c
c = a * b
cetak "3 - Nilai c ialah: ", c
c = a / b
cetak "4 - Nilai c ialah: ", c
c = a % b
cetak "5 - Nilai c ialah : ", c
# Ubah suai pembolehubah a, b, c
a = 2
b = 3
c = a**b
cetak "6 - Nilai c ialah:", c
a = 10
b = 5
c = a//b
cetak "Nilai 7 - c ialah:", c
Cubalah »
Hasil keluaran contoh di atas:
2 - Nilai c ialah: 11
3 - Nilai c ialah: 210
4 - Nilai c ialah: 2
5 - Nilai c ialah: 1
6 - Nilai c ialah: 8
7 - Nilai c ialah: 2
Operator perbandingan Python
Yang berikut mengandaikan pembolehubah a ialah 10 dan pembolehubah b ialah 20:
运算符 | 描述 | 实例 |
---|---|---|
== | 等于 - 比较对象是否相等 | (a == b) 返回 False。 |
!= | 不等于 - 比较两个对象是否不相等 | (a != b) 返回 true. |
<> | 不等于 - 比较两个对象是否不相等 | (a <> b) 返回 true。这个运算符类似 != 。 |
> | 大于 - 返回x是否大于y | (a > b) 返回 False。 |
< | 小于 - 返回x是否小于y。所有比较运算符返回1表示真,返回0表示假。这分别与特殊的变量True和False等价。注意,这些变量名的大写。 | (a < b) 返回 true。 |
>= | 大于等于 - 返回x是否大于等于y。 | (a >= b) 返回 False。 |
<= | 小于等于 - 返回x是否小于等于y。 | (a <= b) 返回 true。 |
Contoh berikut menunjukkan operasi semua operator perbandingan dalam Python:
# -*- pengekodan: UTF-8 -*-
a = 21
b = 10
c = 0
jika ( a == b ):
cetak "1 - a sama dengan b"
lain:
cetak "1 - a tidak sama dengan b"
jika ( a != b ):
cetak "2 - a tidak sama dengan b"
lain:
cetak "2 - a sama dengan b"
jika ( a <> b ):
cetak "3 - a tidak sama dengan b"
lain:
cetak "3 - a bersamaan dengan b"
jika ( a < b ):
cetak "4 - a kurang daripada b"
lain:
cetak "4 - a lebih besar daripada atau sama dengan b"
jika ( a > b ):
cetak "5 - a lebih besar daripada b"
lain:
cetak "5 - a kurang daripada atau sama kepada b"
# Ubah suai nilai pembolehubah a dan b
a = 5 ;
b = 20;
jika ( a <= b ):
cetak "6 - a adalah kurang daripada atau sama dengan b"
lain:
cetak "6 - a lebih besar daripada b"
jika ( b >= a ):
cetak " 7 - b lebih besar daripada atau sama dengan b"
lain:
cetak "7 - b kurang daripada b"
Hasil keluaran contoh di atas:
2 - a tidak sama dengan b
3 - a tidak sama dengan b
4 - a lebih besar daripada atau sama dengan b
5 - a lebih besar daripada b
6 - a kurang daripada atau sama dengan b
7 - b lebih besar daripada atau sama dengan b
Pengendali tugasan Python
Yang berikut mengandaikan pembolehubah a ialah 10 dan pembolehubah b ialah 20:
运算符 | 描述 | 实例 |
---|---|---|
= | 简单的赋值运算符 | c = a + b 将 a + b 的运算结果赋值为 c |
+= | 加法赋值运算符 | c += a 等效于 c = c + a |
-= | 减法赋值运算符 | c -= a 等效于 c = c - a |
*= | 乘法赋值运算符 | c *= a 等效于 c = c * a |
/= | 除法赋值运算符 | c /= a 等效于 c = c / a |
%= | 取模赋值运算符 | c %= a 等效于 c = c % a |
**= | 幂赋值运算符 | c **= a 等效于 c = c ** a |
//= | 取整除赋值运算符 | c //= a 等效于 c = c // a |
Contoh berikut menunjukkan pengendalian semua operator tugasan dalam Python:
# -*- pengekodan: UTF-8 -*-
a = 21
b = 10
c = 0
c = a + b
cetak "Nilai 1 - c ialah:", c
c += a
cetak "2 - Nilai c ialah: ", c
c *= a
cetak "3 - Nilai c ialah: ", c
c /= a
cetak "4 - Nilai c ialah: ", c
c = 2
c %= a
cetak "5 - Nilai bagi c ialah: ", c
c **= a
cetak "Nilai 6 - c ialah:", c
c //= a
cetak "The nilai 7 - c ialah:" , c
Hasil keluaran contoh di atas:
2 - Nilai c ialah: 52
3 - c Nilai c ialah: 1092
4 - Nilai c ialah: 52
5 - Nilai c ialah: 2
6 - The nilai c ialah: 2097152
7 - Nilai c ialah: 99864
Pengendali bitwise Python
Pengendali bitwise menganggap nombor sebagai perduaan untuk melakukan pengiraan. Peraturan operasi bitwise dalam Python adalah seperti berikut:
Dalam jadual berikut, pembolehubah a ialah 60 dan b ialah 13.
运算符 | 描述 | 实例 |
---|---|---|
& | 按位与运算符:参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0 | (a & b) 输出结果 12 ,二进制解释: 0000 1100 |
| | 按位或运算符:只要对应的二个二进位有一个为1时,结果位就为1。 | (a | b) 输出结果 61 ,二进制解释: 0011 1101 |
^ | 按位异或运算符:当两对应的二进位相异时,结果为1 | (a ^ b) 输出结果 49 ,二进制解释: 0011 0001 |
~ | 按位取反运算符:对数据的每个二进制位取反,即把1变为0,把0变为1 | (~a ) 输出结果 -61 ,二进制解释: 1100 0011, 在一个有符号二进制数的补码形式。 |
<< | 左移动运算符:运算数的各二进位全部左移若干位,由"<<"右边的数指定移动的位数,高位丢弃,低位补0。 | a << 2 输出结果 240 ,二进制解释: 1111 0000 |
>> | 右移动运算符:把">>"左边的运算数的各二进位全部右移若干位,">>"右边的数指定移动的位数 | a >> 2 输出结果 15 ,二进制解释: 0000 1111 |
Contoh berikut menunjukkan operasi semua operator bitwise dalam Python:
# -*- pengekodan: UTF-8 -*-
a = 60 # 12 = 0000 1100
cetak " 1 - Nilai c ialah: ", c
c = a | # 61 = 0011 1101
cetak "; 2 - Nilai c ialah: ", c
c = a ^ b; Nilainya ialah: ", c
c = a <<
cetak "5 - Nilai c ialah: ", c
c = a > - Nilai c ialah: 12
2 - Nilai c ialah: 61
3 - Nilai c ialah: 49
4 - Nilai c ialah: -61
5 - Nilai c ialah : 240
6 - Nilai c ialah: 15
Pengendali logik Python
Contoh hasil output di atas:
# -*- pengekodan: UTF-8 -*-
a = 10
b = 20
jika ( a dan b ):
cetak "1 - Pembolehubah a dan b kedua-duanya benar"
lain:
cetak "1 - Pembolehubah a dan b adalah benar Satu tidak benar"
jika ( a atau b ):
cetak "2 - Kedua-dua pembolehubah a dan b adalah benar, atau salah satu pembolehubah adalah benar"
lain:
print " 2 - Baik pembolehubah a mahupun b adalah benar"
# Ubah suai nilai pembolehubah a
a = 0
jika (a dan b):
cetak "3 - Pembolehubah a dan b Kedua-duanya adalah benar"
lain:
cetak "3 - Pembolehubah a dan b Salah satu daripadanya adalah tidak benar"
jika ( a atau b ):
cetak "4 - Pembolehubah a dan b Kedua-duanya adalah benar, atau salah satu pembolehubah adalah benar"
else:
cetak "4 - Tiada pembolehubah a atau b adalah benar"
jika tidak( a dan b ):
cetak "5 - Pembolehubah a dan b kedua-duanya palsu, atau salah satu pembolehubah adalah palsu"
lain:
cetak "5 - Pembolehubah a dan b kedua-duanya benar"
Output contoh di atas Keputusan:
2 - Pembolehubah a dan b kedua-duanya benar, atau salah satu pembolehubah adalah benar
3 - Pembolehubah a dan b mempunyai satu Tidak benar
4 - Pembolehubah a dan b kedua-duanya benar, atau salah satu pembolehubah adalah benar
5 - Pembolehubah a dan b kedua-duanya palsu, atau salah satu pembolehubah adalah palsu
Pengendali ahli Python
Selain beberapa pengendali di atas, Python juga menyokong pengendali ahli Contoh ujian mengandungi satu siri ahli, termasuk rentetan, senarai atau tupel .
运算符 | 描述 | 实例 |
---|---|---|
in | 如果在指定的序列中找到值返回 True,否则返回 False。 | x 在 y 序列中 , 如果 x 在 y 序列中返回 True。 |
not in | 如果在指定的序列中没有找到值返回 True,否则返回 False。 | x 不在 y 序列中 , 如果 x 不在 y 序列中返回 True。 |
Contoh berikut menunjukkan pengendalian semua operator ahli dalam Python:
# -*- pengekodan: UTF- 8 -*-
a = 10
b = 20
senarai = [1, 2, 3, 4, 5];
jika (a dalam senarai):
cetak "1 - Pembolehubah a ada dalam senarai senarai yang diberikan"
lain:
cetak "1 - Pembolehubah a tiada dalam senarai senarai yang diberikan"
jika ( b tiada dalam senarai ) :
cetak "2 - pembolehubah b tiada dalam senarai senarai yang diberikan"
lain:
cetak "2 - pembolehubah b dalam senarai senarai yang diberikan"
# Ubah suai nilai pembolehubah a
a = 2
jika ( a dalam senarai ):
cetak "3 - Pembolehubah a dalam senarai senarai yang diberikan "
lain:
cetak " 3 - Pembolehubah a tidak dalam senarai senarai yang diberikan "
Hasil keluaran contoh di atas:
2 - Pembolehubah b tiada dalam senarai senarai yang diberikan
3 - Pembolehubah a ada dalam senarai senarai yang diberikan
Pengendali identiti Python
Pengendali identiti digunakan untuk membandingkan storan lokasi dua objek
运算符 | 描述 | 实例 |
---|---|---|
is | is是判断两个标识符是不是引用自一个对象 | x is y, 如果 id(x) 等于 id(y) , is 返回结果 1 |
is not | is not是判断两个标识符是不是引用自不同对象 | x is not y, 如果 id(x) 不等于 id(y). is not 返回结果 1 |
Contoh berikut menunjukkan pengendalian semua pengendali identiti dalam Python:
# -*- pengekodan: UTF-8 -*-
a = 20
b = 20
jika ( a ialah b ):
cetak "1 - a dan b mempunyai identiti yang sama"
lain:
cetak " 1 - a dan b tidak mempunyai pengecam yang sama"
jika ( id(a) == id(b) ):
cetak "2 - a dan b mempunyai pengecam yang sama"
lain:
cetak "2 - a dan b tidak mempunyai pengecam yang sama"
# Ubah suai nilai pembolehubah b
b = 30
jika ( a ialah b ):
cetak "3 - a dan b mempunyai identiti yang sama"
lain:
cetak "3 - a dan b tidak mempunyai identiti yang sama"
jika ( a bukan b ):
cetak "4 - a dan b tidak mempunyai pengecam yang sama"
lain:
cetak "4 - a dan b mempunyai pengecam yang sama"
Hasil output bagi contoh di atas:
2 - a dan b mempunyai identiti yang sama
3 - a dan b tidak mempunyai identiti yang sama
4 - a dan b tidak mempunyai identiti yang sama
Keutamaan pengendali Python
Jadual berikut menyenaraikan semua operator daripada keutamaan tertinggi hingga terendah:
运算符 | 描述 |
---|---|
** | 指数 (最高优先级) |
~ + - | 按位翻转, 一元加号和减号 (最后两个的方法名为 +@ 和 -@) |
* / % // | 乘,除,取模和取整除 |
+ - | 加法减法 |
>> << | 右移,左移运算符 |
& | 位 'AND' |
^ | | 位运算符 |
<= < > >= | 比较运算符 |
<> == != | 等于运算符 |
= %= /= //= -= += *= **= | 赋值运算符 |
is is not | 身份运算符 |
in not in | 成员运算符 |
not or and | 逻辑运算符 |
Contoh berikut menunjukkan operasi semua keutamaan operator dalam Python:
# -*- pengekodan: UTF-8 -*-
a = 20
b = 10
c = 15
d = 5
e = 0
e = (a + b) * c / d #( 30 * 15 ) / 5
cetak "(a + b) * c / d Hasil operasi ialah: ", e
e = ((a + b) * c) / d # (30 * 15 ) / 5
cetak "((a + b) * c) / d Hasil operasi ialah: ", e
e = (a + b) * (c / d) ; # (30 ) * (15/5)
cetak "(a + b) * (c / d) Hasil operasi ialah: ", e
e = a + (b * c) / d; # 20 + (150/5)
cetak "a + (b * c) / d Hasil operasi ialah: ", e
Hasil keluaran di atas contoh:
((a + b) * c) / d Hasil operasi ialah: 90
( a + b) * (c / d) Hasil operasi ialah : 90
a + (b * c) / d Hasil operasi ialah: 50